[llvm-branch-commits] [clang-tools-extra] [clangd] Add clangd 20 release notes (PR #127358)
Chuanqi Xu via llvm-branch-commits
llvm-branch-commits at lists.llvm.org
Sun Feb 16 17:41:45 PST 2025
================
@@ -67,35 +68,84 @@ Semantic Highlighting
Compile flags
^^^^^^^^^^^^^
+- Fixed a bug where clangd would unnecessarily reparse open files whose
+ compile command did not change when receiving a new compile command
+ via an LSP `workspace/configuration` request (#GH115438)
+
Hover
^^^^^
+- Hovering over a function name now shows the function's documentation
+ comment even if the comment is written above the function's out-of-line
+ definition in a different source file (#GH67802)
+
Code completion
^^^^^^^^^^^^^^^
+- Added an `ArgumentLists` config option under `Completion`. This is a more
+ flexible version of the `--function-arg-placeholders` command line flag,
+ allowing users more detailed control of what is inserted in argument list
+ position when clangd completes the name of a function in a function call
+ context. (#GH111322)
+- Clangd now supports configuring which headers should be inserted using
+ `<>` vs. `""` syntax using the `QuotedHeaders` and `AngledHeaders` config
+ options under `Style` (#GH67749)
- Added completion for C++20 keywords.
+- Clangd's `HeuristicResolver` component was upstreamed to `libSema` where
+ code completion can take advantage of it, resulting in improved code
+ completion in templated code
+- Code completion proposals for symbols defined in included headers now
+ include documentation comments (#GH120099)
Code actions
^^^^^^^^^^^^
- Added `Swap operands` tweak for certain binary operators.
-
- Improved the extract-to-function code action to allow extracting statements
with overloaded operators like ``<<`` of ``std::ostream``.
+- `Define outline` now handles member functions of class templates, and
+ member function templates.
+- `Extract variable` can now operate on the top-level expression in an
+ expression statement (#GH112525)
Signature help
^^^^^^^^^^^^^^
Cross-references
^^^^^^^^^^^^^^^^
+- Clangd now supports the "outgoing calls" direction of call hierarchy
+ (#GH77556)
+- Call hierarchy can now be invoked on fields and namespace-scope
+ variables (#GH113900)
+- Improved heuristics for filtering out generated Protobuf symbol names
+ during indexing (#GH110091)
+- Compiler intrinsics defined in `*intrin.h` system headers are now
+ indexed even if they have reserved names (#GH119735)
+- Various improvements to go-to-definition in templated code
+
Objective-C
^^^^^^^^^^^
+Clang-tidy integration
+^^^^^^^^^^^^^^^^^^^^^^
+
+- Improved robustness in handling clang-tidy check names (#GH109421)
+
+C++20 Modules Support
----------------
ChuanqiXu9 wrote:
I think the current wording is fine. Or we can say we improved the efficiency of support for modules in clangd20.
https://github.com/llvm/llvm-project/pull/127358
More information about the llvm-branch-commits
mailing list