Skip to content

Commit c4003c0

Browse files
authored
Merge pull request #13451 from microsoft/main
Merge for 1.24.5 (release)
2 parents c27806e + 93d5c1f commit c4003c0

File tree

128 files changed

+603
-406
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

128 files changed

+603
-406
lines changed

Extension/CHANGELOG.md

Lines changed: 22 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -1,85 +1,51 @@
11
# C/C++ for Visual Studio Code Changelog
22

3-
## Version 1.24.4: March 27, 2025
4-
### Enhancements
5-
* Add a new `recursiveIncludes` property to `c_cpp_properties.json`. [PR #13374](https://github.com/microsoft/vscode-cpptools/pull/13374)
6-
* Turn Copilot hover on by default. [PR #13385](https://github.com/microsoft/vscode-cpptools/pull/13385)
7-
* On shutdown, immediately terminate the IntelliSense process instead of waiting 2 seconds.
8-
9-
### Bug Fixes
10-
* Fix one potential cause of the `get_mangled_function_name` IntelliSense process crash. [#13358](https://github.com/Microsoft/vscode-cpptools/issues/13358)
11-
* Fix Copilot-related logging appearing when it shouldn't. [PR #13388](https://github.com/microsoft/vscode-cpptools/pull/13388), [PR #13417](https://github.com/microsoft/vscode-cpptools/pull/13417)
12-
* Fix relative compiler paths being expanded in `compile_commands.json`. [#13405](https://github.com/microsoft/vscode-cpptools/issues/13405)
13-
* Fix all caps clang-format logging on Windows. [#13406](https://github.com/microsoft/vscode-cpptools/issues/13406)
14-
* Fix an IntelliSense process crash in `handle_function`.
15-
* Avoid reporting an error due to multiple `didOpen` requests after a crash.
3+
## Version 1.24.5: April 3, 2025
4+
### New Feature
5+
* Add support for Copilot descriptions in hover tooltips, controlled by the `C_Cpp.copilotHover` setting. [PR #13385](https://github.com/microsoft/vscode-cpptools/pull/13385)
166

17-
## Version 1.24.3: March 18, 2025
187
### Enhancements
8+
* Improve/fix the switch header/source feature. [#2635](https://github.com/microsoft/vscode-cpptools/issues/2635)
199
* Add detected test frameworks to the Copilot context when `#cpp` is used. [PR #13285](https://github.com/microsoft/vscode-cpptools/pull/13285)
20-
* Update clang-tidy and clang-format from 19.1.7 to 20.1.0. [PR #13348](https://github.com/microsoft/vscode-cpptools/pull/13348)
10+
* Update clang-tidy and clang-format from 19.1.7 to 20.1.2. [PR #13348](https://github.com/microsoft/vscode-cpptools/pull/13348)
2111
* Remove some unnecessary files from the vsix. [PR #13368](https://github.com/microsoft/vscode-cpptools/pull/13368)
2212
* Improve the logging when a non-existent path is used for indexing. [PR #13372](https://github.com/microsoft/vscode-cpptools/pull/13372)
13+
* Add a new `recursiveIncludes` property to `c_cpp_properties.json`. [PR #13374](https://github.com/microsoft/vscode-cpptools/pull/13374)
2314
* Remove the `C_Cpp.updateChannel` setting. [PR #13376](https://github.com/microsoft/vscode-cpptools/pull/13376)
24-
* Switch to only passing the root framework to clang-tidy.
25-
26-
### Bug Fixes
27-
* Fix a bug with symlink resolving with `compile_commands.json`. [#13321](https://github.com/microsoft/vscode-cpptools/issues/13321)
28-
* Fix a performance issue on macOS when processing `compile_commands.json` with a lot of include paths. [#13366](https://github.com/microsoft/vscode-cpptools/issues/13366)
29-
* Fix some localization bugs. [PR #13373](https://github.com/microsoft/vscode-cpptools/pull/13373)
30-
* Fix IntelliSense showing the wrong size of objects. [#13375](https://github.com/microsoft/vscode-cpptools/issues/13375)
31-
* Fix a `${workspaceFolder}/*` include path not being used as a non-recursive browse path.
32-
* Fix some potential IntelliSense process crashes when processing Copilot snippets.
33-
* Fix a regression with compiler query caching in the database.
34-
35-
## Version 1.24.2: March 6, 2025
36-
### Enhancements
37-
* Various improvements to Copilot snippets. [PR #13296](https://github.com/microsoft/vscode-cpptools/pull/13296)
3815
* Add handling of `-cxx-isystem`, `-stblib++-isystem`, `-isystem-after`, and `--include-barrier` Clang compiler arguments when composing the order of include paths used by IntelliSense.
39-
* Defer building of an include completion cache to another thread, improving performance when a file is opened.
16+
* Defer the building of the include completion cache to another thread to improve performance when a file is opened.
17+
* On shutdown, immediately terminate the IntelliSense process instead of waiting 2 seconds.
4018

4119
### Bug Fixes
20+
* Fix an IntelliSense crash in `build_sections`. [#12666](https://github.com/microsoft/vscode-cpptools/issues/12666), [#12956](https://github.com/microsoft/vscode-cpptools/issues/12956)
21+
* Fix random IntelliSense process crashes on Linux/macOS when `C_Cpp.intelliSenseCacheSize` is > 0. [#12668](https://github.com/microsoft/vscode-cpptools/issues/12668)
22+
* Fix a bug in which hundreds of custom configuration requests could be sent on startup before the configuration provider has registered. [#13166](https://github.com/microsoft/vscode-cpptools/issues/13166)
23+
* Fix handling of the `-framework` compiler argument. [#13204](https://github.com/microsoft/vscode-cpptools/issues/13204)
24+
* Fix a potential race between didChange and didOpen. [PR #13209](https://github.com/microsoft/vscode-cpptools/pull/13209)
25+
* Fix an issue with the `.editorconfig` `tab_size`. [PR #13216](https://github.com/microsoft/vscode-cpptools/pull/13216)
26+
* Fix a potential deadlock on shutdown if configuration providers are used. [#13218](https://github.com/microsoft/vscode-cpptools/issues/13218)
4227
* Fix the code analysis mode in the Language Status bar not updating after the setting changes. [#13240](https://github.com/microsoft/vscode-cpptools/issues/13240)
28+
* Fix system include/framework paths being used as a fallback for user include/framework paths in the base configuration. [PR #13247](https://github.com/microsoft/vscode-cpptools/pull/13247)
4329
* Fix the `svdPath` description being missing for `launch.json`. [#13287](https://github.com/microsoft/vscode-cpptools/issues/13287)
4430
* Update the Windows SDK packages referenced in the walkthrough. [#13290](https://github.com/microsoft/vscode-cpptools/issues/13290)
4531
* Fix an issue with `C:` being treated as a relative path. [PR #13297](https://github.com/microsoft/vscode-cpptools/pull/13297)
4632
* Fix an unnecessary TU reset when a change is detected in a `compile_commands.json` file that is not used by the active configuration. [#13317](https://github.com/microsoft/vscode-cpptools/issues/13317)
4733
* Fix handling of URIs in web environments. [#13327](https://github.com/microsoft/vscode-cpptools/issues/13327)
4834
* Fix a potential deadlock after using 'Reset IntelliSense Database'. [#13337](https://github.com/microsoft/vscode-cpptools/issues/13337)
35+
* Fix some localization bugs. [PR #13373](https://github.com/microsoft/vscode-cpptools/pull/13373)
36+
* Fix IntelliSense showing the wrong size of objects. [#13375](https://github.com/microsoft/vscode-cpptools/issues/13375)
37+
* Fix the `get_mangled_function_name` IntelliSense process crash. [#13358](https://github.com/Microsoft/vscode-cpptools/issues/13358)
4938
* Fix an issue with duplicate forced includes being removed. Multiple forced includes of the same file should now properly be included multiple times.
5039
* Fix an issue in which the base configuration browse paths may not get populated when using a custom configuration provider.
5140
* Fix an issue with forced includes not being resolved against the same include path search order as a compiler would.
41+
* Fix a `${workspaceFolder}/*` include path not being used as a non-recursive browse path.
5242
* Fix an issue with include path ordering of paths specified with the `-imsvc` argument.
5343
* Fix a race condition that could result in incorrect include completion results.
54-
* Fix potential IntelliSense process crashes when processing Copilot snippets.
55-
* Fix a crash involving iconv when converting UTF-16 or UTF-32 to UTF-8.
56-
* Fix a potential crash when using the IntelliSense cache.
44+
* Avoid reporting an error due to multiple `didOpen` requests after a crash.
45+
* Fix an inaccurate cursor position for IntelliSense update.
5746
* Fix an IntelliSense crash if a "bad seq number" occurs.
5847
* Fix processes potentially getting stuck on shutdown.
5948
* Fix a potential crash when saving a file.
60-
61-
## Version 1.24.1: February 13, 2025
62-
### Bug Fixes
63-
* Fix random IntelliSense process crashes on Linux/macOS when `C_Cpp.intelliSenseCacheSize` is > 0. [#12668](https://github.com/microsoft/vscode-cpptools/issues/12668)
64-
* Fix a crash when processing Copilot snippets.
65-
* Fix a crash when using Copilot hover.
66-
67-
## Version 1.24.0: February 11, 2025
68-
### New Feature
69-
* Add experimental support for Copilot descriptions in hover tooltips, controlled by the `C_Cpp.copilotHover` setting. This feature is currently off by default and may be subject to A/B experimentation. To opt-out of Copilot Hover experiments, set `C_Cpp.copilotHover` to `disabled`.
70-
71-
### Enhancement
72-
* Improve/fix the switch header/source feature. [#2635](https://github.com/microsoft/vscode-cpptools/issues/2635)
73-
74-
### Bug Fixes
75-
* Fix an IntelliSense crash in `build_sections`. [#12666](https://github.com/microsoft/vscode-cpptools/issues/12666), [#12956](https://github.com/microsoft/vscode-cpptools/issues/12956)
76-
* Fix a bug in which hundreds of custom configuration requests could be sent on startup before the configuration provider has registered. [#13166](https://github.com/microsoft/vscode-cpptools/issues/13166)
77-
* Fix handling of the `-framework` compiler argument. [#13204](https://github.com/microsoft/vscode-cpptools/issues/13204)
78-
* Fix a potential race between didChange and didOpen. [PR #13209](https://github.com/microsoft/vscode-cpptools/pull/13209)
79-
* Fix an issue with the `.editorconfig` `tab_size`. [PR #13216](https://github.com/microsoft/vscode-cpptools/pull/13216)
80-
* Fix a potential deadlock on shutdown if configuration providers are used. [#13218](https://github.com/microsoft/vscode-cpptools/issues/13218)
81-
* Fix system include/framework paths being used as a fallback for user include/framework paths in the base configuration. [PR #13247](https://github.com/microsoft/vscode-cpptools/pull/13247)
82-
* Fix an inaccurate cursor position for IntelliSense update.
8349
* Fix a random crash during code analysis.
8450

8551
## Version 1.23.6: February 6, 2025

Extension/ThirdPartyNotices.txt

Lines changed: 53 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -300,13 +300,30 @@ SOFTWARE.
300300

301301
---------------------------------------------------------
302302

303+
webidl-conversions 3.0.1 - BSD-2-Clause
304+
https://github.com/jsdom/webidl-conversions#readme
305+
306+
Copyright (c) 2014, Domenic Denicola
307+
308+
# The BSD 2-Clause License
309+
310+
Copyright (c) 2014, Domenic Denicola
311+
All rights reserved.
312+
313+
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
314+
315+
1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
316+
317+
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
318+
319+
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
303320

304321

305322
---------------------------------------------------------
306323

307324
---------------------------------------------------------
308325

309-
esprima 4.0.1 - BSD-2-Clause
326+
esprima 4.0.1 - BSD-2-Clause AND BSD-3-Clause
310327
http://esprima.org/
311328

312329
Copyright JS Foundation and other contributors, https://js.foundation
@@ -334,29 +351,6 @@ ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
334351
THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
335352

336353

337-
---------------------------------------------------------
338-
339-
---------------------------------------------------------
340-
341-
webidl-conversions 3.0.1 - BSD-2-Clause
342-
https://github.com/jsdom/webidl-conversions#readme
343-
344-
Copyright (c) 2014, Domenic Denicola
345-
346-
# The BSD 2-Clause License
347-
348-
Copyright (c) 2014, Domenic Denicola
349-
All rights reserved.
350-
351-
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
352-
353-
1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
354-
355-
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
356-
357-
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
358-
359-
360354
---------------------------------------------------------
361355

362356
---------------------------------------------------------
@@ -1084,6 +1078,41 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
10841078
SOFTWARE.
10851079

10861080

1081+
---------------------------------------------------------
1082+
1083+
---------------------------------------------------------
1084+
1085+
@nevware21/ts-utils 0.11.7 - MIT
1086+
https://github.com/nevware21/ts-utils
1087+
1088+
Copyright (c) 2022 NevWare21 Solutions LLC
1089+
Copyright (c) 2023 NevWare21 Solutions LLC
1090+
Copyright (c) 2024 NevWare21 Solutions LLC
1091+
Copyright (c) NevWare21 Solutions LLC and contributors
1092+
1093+
MIT License
1094+
1095+
Copyright (c) 2022 NevWare21 Solutions LLC
1096+
1097+
Permission is hereby granted, free of charge, to any person obtaining a copy
1098+
of this software and associated documentation files (the "Software"), to deal
1099+
in the Software without restriction, including without limitation the rights
1100+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
1101+
copies of the Software, and to permit persons to whom the Software is
1102+
furnished to do so, subject to the following conditions:
1103+
1104+
The above copyright notice and this permission notice shall be included in all
1105+
copies or substantial portions of the Software.
1106+
1107+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
1108+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
1109+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
1110+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
1111+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
1112+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
1113+
SOFTWARE.
1114+
1115+
10871116
---------------------------------------------------------
10881117

10891118
---------------------------------------------------------

Extension/i18n/chs/c_cpp_properties.schema.json.i18n.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,9 @@
2222
"c_cpp_properties.schema.json.definitions.configurations.items.properties.browse.properties.limitSymbolsToIncludedHeaders": "设为 `true` 以仅处理直接或间接包含为标头的文件,设为 `false` 则处理指定包含路径下的所有文件。",
2323
"c_cpp_properties.schema.json.definitions.configurations.items.properties.browse.properties.databaseFilename": "所生成的符号数据库的路径。如果指定了相对路径,则它将相对于工作区的默认存储位置。",
2424
"c_cpp_properties.schema.json.definitions.configurations.items.properties.browse.properties.path": "用于索引和分析工作区符号的路径列表(供“转到定义”、“查找所有引用”等使用)。默认情况下,在这些路径上进行搜索为递归搜索。指定 `*` 以指示非递归搜索。例如,`${workspaceFolder}` 将搜索所有子目录,而 `${workspaceFolder}/*` 将不进行搜索。",
25+
"c_cpp_properties.schema.json.definitions.configurations.items.properties.recursiveIncludes.properties.reduce": "设置为 `always` 可始终将提供给 IntelliSense 的递归包含路径数减少到仅限当前由 #include 语句引用的路径。这需要首先分析文件以确定包含哪些标头。设置为 `never` 可将所有递归包含路径提供给 IntelliSense。当涉及到大量递归包含路径时,减少递归包含路径的数量可能会提高 IntelliSense 性能。如果不减少递归包含路径的数量,则可以通过避免需要分析文件以确定要提供的包含路径来提高 IntelliSense 性能。`default` 值目前会减少提供给 IntelliSense 的递归包含路径数。",
26+
"c_cpp_properties.schema.json.definitions.configurations.items.properties.recursiveIncludes.properties.priority": "递归包含路径的优先级。如果设置为 `beforeSystemIncludes`,则会在系统包含路径之前搜索递归包含路径。如果设置为 `afterSystemIncludes` ,则会在系统包含路径后搜索递归包含路径。`beforeSystemIncludes` 将更密切地反映编译器的搜索顺序,而 `afterSystemIncludes` 则可能导致性能提升。",
27+
"c_cpp_properties.schema.json.definitions.configurations.items.properties.recursiveIncludes.properties.order": "搜索递归包含的子目录的顺序。",
2528
"c_cpp_properties.schema.json.definitions.configurations.items.properties.customConfigurationVariables": "可通过命令`${cpptools:activeConfigCustomVariable}` 查询的自定义变量,用于 `launch.json` 或 `tasks.json`. 中的输入变量。",
2629
"c_cpp_properties.schema.json.definitions.env": "可以使用 `${变量}` 或 `${env:变量}` 语法在此文件中的任何位置重复使用的自定义变量。",
2730
"c_cpp_properties.schema.json.definitions.version": "配置文件的版本。此属性由扩展托管。请勿更改它。",

0 commit comments

Comments
 (0)