diff --git a/arduino-ide-extension/README.md b/arduino-ide-extension/README.md index ff25fd6e..db9cff8b 100644 --- a/arduino-ide-extension/README.md +++ b/arduino-ide-extension/README.md @@ -62,6 +62,15 @@ The Config Service knows about your system, like for example the default sketch - Some CLI updates can bring changes to the gRPC interfaces, as the API might change. gRPC interfaces can be updated running the command `yarn --cwd arduino-ide-extension generate-protocol` +### Update **clangd** and **ClangFormat** + +The [**clangd** C++ language server](https://clangd.llvm.org/) and the [**ClangFormat** code formatter](https://clang.llvm.org/docs/ClangFormat.html) tool dependencies are managed in parallel. Updating them to a different version is done by the following procedure: + +1. If the target version is not already [available from the `arduino/clang-static-binaries` repository](https://github.com/arduino/clang-static-binaries/releases), submit [an issue there](https://github.com/arduino/clang-static-binaries/issues) requesting a build and wait for that to be completed. +1. Validate the **ClangFormat** configuration for the target version by following the instructions [**here**](https://github.com/arduino/tooling-project-assets/tree/main/other/clang-format-configuration#clangformat-version-updates) +1. Submit a pull request in the `arduino/arduino-ide` repository to update the version in the `arduino.clangd.version` key of [`package.json`](package.json). +1. Submit a pull request in [the `arduino/tooling-project-assets` repository](https://github.com/arduino/tooling-project-assets) to update the version in the `vars.DEFAULT_CLANG_FORMAT_VERSION` field of [`Taskfile.yml`](https://github.com/arduino/tooling-project-assets/blob/main/Taskfile.yml). + ### Customize Icons ArduinoIde uses a customized version of FontAwesome. In order to update/replace icons follow the following steps: