@@ -56,7 +56,8 @@ Improvements to clangd
5656Inlay hints
5757^^^^^^^^^^^
5858
59- - Added `DefaultArguments ` Inlay Hints option.
59+ - Added support for inlay hints for default arguments, enabled using the
60+ `DefaultArguments ` config option (#GH95712)
6061
6162Diagnostics
6263^^^^^^^^^^^
@@ -67,35 +68,84 @@ Semantic Highlighting
6768Compile flags
6869^^^^^^^^^^^^^
6970
71+ - Fixed a bug where clangd would unnecessarily reparse open files whose
72+ compile command did not change when receiving a new compile command
73+ via an LSP `workspace/configuration ` request (#GH115438)
74+
7075Hover
7176^^^^^
7277
78+ - Hovering over a function name now shows the function's documentation
79+ comment even if the comment is written above the function's out-of-line
80+ definition in a different source file (#GH67802)
81+
7382Code completion
7483^^^^^^^^^^^^^^^
7584
85+ - Added an `ArgumentLists ` config option under `Completion `. This is a more
86+ flexible version of the `--function-arg-placeholders ` command line flag,
87+ allowing users more detailed control of what is inserted in argument list
88+ position when clangd completes the name of a function in a function call
89+ context. (#GH111322)
90+ - Clangd now supports configuring which headers should be inserted using
91+ `<> ` vs. `"" ` syntax using the `QuotedHeaders ` and `AngledHeaders ` config
92+ options under `Style ` (#GH67749)
7693- Added completion for C++20 keywords.
94+ - Clangd's `HeuristicResolver ` component was upstreamed to `libSema ` where
95+ code completion can take advantage of it, resulting in improved code
96+ completion in templated code
97+ - Code completion proposals for symbols defined in included headers now
98+ include documentation comments (#GH120099)
7799
78100Code actions
79101^^^^^^^^^^^^
80102
81103- Added `Swap operands ` tweak for certain binary operators.
82-
83104- Improved the extract-to-function code action to allow extracting statements
84105 with overloaded operators like ``<< `` of ``std::ostream ``.
106+ - `Define outline ` now handles member functions of class templates, and
107+ member function templates.
108+ - `Extract variable ` can now operate on the top-level expression in an
109+ expression statement (#GH112525)
85110
86111Signature help
87112^^^^^^^^^^^^^^
88113
89114Cross-references
90115^^^^^^^^^^^^^^^^
91116
117+ - Clangd now supports the "outgoing calls" direction of call hierarchy
118+ (#GH77556)
119+ - Call hierarchy can now be invoked on fields and namespace-scope
120+ variables (#GH113900)
121+ - Improved heuristics for filtering out generated Protobuf symbol names
122+ during indexing (#GH110091)
123+ - Compiler intrinsics defined in `*intrin.h ` system headers are now
124+ indexed even if they have reserved names (#GH119735)
125+ - Various improvements to go-to-definition in templated code
126+
92127Objective-C
93128^^^^^^^^^^^
94129
130+ Clang-tidy integration
131+ ^^^^^^^^^^^^^^^^^^^^^^
132+
133+ - Improved robustness in handling clang-tidy check names (#GH109421)
134+
135+ C++20 Modules Support
136+ ^^^^^^^^^^^^^^^^^^^^^
137+
138+ - Support code completion for symbols defined in modules (#GH110083)
139+ - Improve performance when opening files that import modules (#GH106683)
140+ - Compile commands for modules now respect modifications specified in `.clangd `
141+ files (#GH122606)
142+
95143Miscellaneous
96144^^^^^^^^^^^^^
97145
98- - The DefineOutline tweak now handles member functions of class templates.
146+ - Fixed an OOM affecting some versions of libcxx headers compiled in C++20
147+ mode (#GH108866)
148+ - Various other stability improvements, e.g. crash fixes
99149
100150Improvements to clang-doc
101151-------------------------
0 commit comments