Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
78 changes: 22 additions & 56 deletions Extension/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,85 +1,51 @@
# C/C++ for Visual Studio Code Changelog

## Version 1.24.4: March 27, 2025
### Enhancements
* Add a new `recursiveIncludes` property to `c_cpp_properties.json`. [PR #13374](https://github.com/microsoft/vscode-cpptools/pull/13374)
* Turn Copilot hover on by default. [PR #13385](https://github.com/microsoft/vscode-cpptools/pull/13385)
* On shutdown, immediately terminate the IntelliSense process instead of waiting 2 seconds.

### Bug Fixes
* Fix one potential cause of the `get_mangled_function_name` IntelliSense process crash. [#13358](https://github.com/Microsoft/vscode-cpptools/issues/13358)
* 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)
* Fix relative compiler paths being expanded in `compile_commands.json`. [#13405](https://github.com/microsoft/vscode-cpptools/issues/13405)
* Fix all caps clang-format logging on Windows. [#13406](https://github.com/microsoft/vscode-cpptools/issues/13406)
* Fix an IntelliSense process crash in `handle_function`.
* Avoid reporting an error due to multiple `didOpen` requests after a crash.
## Version 1.24.5: April 3, 2025
### New Feature
* 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)

## Version 1.24.3: March 18, 2025
### Enhancements
* Improve/fix the switch header/source feature. [#2635](https://github.com/microsoft/vscode-cpptools/issues/2635)
* Add detected test frameworks to the Copilot context when `#cpp` is used. [PR #13285](https://github.com/microsoft/vscode-cpptools/pull/13285)
* Update clang-tidy and clang-format from 19.1.7 to 20.1.0. [PR #13348](https://github.com/microsoft/vscode-cpptools/pull/13348)
* Update clang-tidy and clang-format from 19.1.7 to 20.1.2. [PR #13348](https://github.com/microsoft/vscode-cpptools/pull/13348)
* Remove some unnecessary files from the vsix. [PR #13368](https://github.com/microsoft/vscode-cpptools/pull/13368)
* Improve the logging when a non-existent path is used for indexing. [PR #13372](https://github.com/microsoft/vscode-cpptools/pull/13372)
* Add a new `recursiveIncludes` property to `c_cpp_properties.json`. [PR #13374](https://github.com/microsoft/vscode-cpptools/pull/13374)
* Remove the `C_Cpp.updateChannel` setting. [PR #13376](https://github.com/microsoft/vscode-cpptools/pull/13376)
* Switch to only passing the root framework to clang-tidy.

### Bug Fixes
* Fix a bug with symlink resolving with `compile_commands.json`. [#13321](https://github.com/microsoft/vscode-cpptools/issues/13321)
* 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)
* Fix some localization bugs. [PR #13373](https://github.com/microsoft/vscode-cpptools/pull/13373)
* Fix IntelliSense showing the wrong size of objects. [#13375](https://github.com/microsoft/vscode-cpptools/issues/13375)
* Fix a `${workspaceFolder}/*` include path not being used as a non-recursive browse path.
* Fix some potential IntelliSense process crashes when processing Copilot snippets.
* Fix a regression with compiler query caching in the database.

## Version 1.24.2: March 6, 2025
### Enhancements
* Various improvements to Copilot snippets. [PR #13296](https://github.com/microsoft/vscode-cpptools/pull/13296)
* 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.
* Defer building of an include completion cache to another thread, improving performance when a file is opened.
* Defer the building of the include completion cache to another thread to improve performance when a file is opened.
* On shutdown, immediately terminate the IntelliSense process instead of waiting 2 seconds.

### Bug Fixes
* 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)
* Fix random IntelliSense process crashes on Linux/macOS when `C_Cpp.intelliSenseCacheSize` is > 0. [#12668](https://github.com/microsoft/vscode-cpptools/issues/12668)
* 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)
* Fix handling of the `-framework` compiler argument. [#13204](https://github.com/microsoft/vscode-cpptools/issues/13204)
* Fix a potential race between didChange and didOpen. [PR #13209](https://github.com/microsoft/vscode-cpptools/pull/13209)
* Fix an issue with the `.editorconfig` `tab_size`. [PR #13216](https://github.com/microsoft/vscode-cpptools/pull/13216)
* Fix a potential deadlock on shutdown if configuration providers are used. [#13218](https://github.com/microsoft/vscode-cpptools/issues/13218)
* 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)
* 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)
* Fix the `svdPath` description being missing for `launch.json`. [#13287](https://github.com/microsoft/vscode-cpptools/issues/13287)
* Update the Windows SDK packages referenced in the walkthrough. [#13290](https://github.com/microsoft/vscode-cpptools/issues/13290)
* Fix an issue with `C:` being treated as a relative path. [PR #13297](https://github.com/microsoft/vscode-cpptools/pull/13297)
* 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)
* Fix handling of URIs in web environments. [#13327](https://github.com/microsoft/vscode-cpptools/issues/13327)
* Fix a potential deadlock after using 'Reset IntelliSense Database'. [#13337](https://github.com/microsoft/vscode-cpptools/issues/13337)
* Fix some localization bugs. [PR #13373](https://github.com/microsoft/vscode-cpptools/pull/13373)
* Fix IntelliSense showing the wrong size of objects. [#13375](https://github.com/microsoft/vscode-cpptools/issues/13375)
* Fix the `get_mangled_function_name` IntelliSense process crash. [#13358](https://github.com/Microsoft/vscode-cpptools/issues/13358)
* Fix an issue with duplicate forced includes being removed. Multiple forced includes of the same file should now properly be included multiple times.
* Fix an issue in which the base configuration browse paths may not get populated when using a custom configuration provider.
* Fix an issue with forced includes not being resolved against the same include path search order as a compiler would.
* Fix a `${workspaceFolder}/*` include path not being used as a non-recursive browse path.
* Fix an issue with include path ordering of paths specified with the `-imsvc` argument.
* Fix a race condition that could result in incorrect include completion results.
* Fix potential IntelliSense process crashes when processing Copilot snippets.
* Fix a crash involving iconv when converting UTF-16 or UTF-32 to UTF-8.
* Fix a potential crash when using the IntelliSense cache.
* Avoid reporting an error due to multiple `didOpen` requests after a crash.
* Fix an inaccurate cursor position for IntelliSense update.
* Fix an IntelliSense crash if a "bad seq number" occurs.
* Fix processes potentially getting stuck on shutdown.
* Fix a potential crash when saving a file.

## Version 1.24.1: February 13, 2025
### Bug Fixes
* Fix random IntelliSense process crashes on Linux/macOS when `C_Cpp.intelliSenseCacheSize` is > 0. [#12668](https://github.com/microsoft/vscode-cpptools/issues/12668)
* Fix a crash when processing Copilot snippets.
* Fix a crash when using Copilot hover.

## Version 1.24.0: February 11, 2025
### New Feature
* 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`.

### Enhancement
* Improve/fix the switch header/source feature. [#2635](https://github.com/microsoft/vscode-cpptools/issues/2635)

### Bug Fixes
* 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)
* 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)
* Fix handling of the `-framework` compiler argument. [#13204](https://github.com/microsoft/vscode-cpptools/issues/13204)
* Fix a potential race between didChange and didOpen. [PR #13209](https://github.com/microsoft/vscode-cpptools/pull/13209)
* Fix an issue with the `.editorconfig` `tab_size`. [PR #13216](https://github.com/microsoft/vscode-cpptools/pull/13216)
* Fix a potential deadlock on shutdown if configuration providers are used. [#13218](https://github.com/microsoft/vscode-cpptools/issues/13218)
* 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)
* Fix an inaccurate cursor position for IntelliSense update.
* Fix a random crash during code analysis.

## Version 1.23.6: February 6, 2025
Expand Down
77 changes: 53 additions & 24 deletions Extension/ThirdPartyNotices.txt
Original file line number Diff line number Diff line change
Expand Up @@ -300,13 +300,30 @@ SOFTWARE.

---------------------------------------------------------

webidl-conversions 3.0.1 - BSD-2-Clause
https://github.com/jsdom/webidl-conversions#readme

Copyright (c) 2014, Domenic Denicola

# The BSD 2-Clause License

Copyright (c) 2014, Domenic Denicola
All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.

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.

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.


---------------------------------------------------------

---------------------------------------------------------

esprima 4.0.1 - BSD-2-Clause
esprima 4.0.1 - BSD-2-Clause AND BSD-3-Clause
http://esprima.org/

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


---------------------------------------------------------

---------------------------------------------------------

webidl-conversions 3.0.1 - BSD-2-Clause
https://github.com/jsdom/webidl-conversions#readme

Copyright (c) 2014, Domenic Denicola

# The BSD 2-Clause License

Copyright (c) 2014, Domenic Denicola
All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.

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.

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.


---------------------------------------------------------

---------------------------------------------------------
Expand Down Expand Up @@ -1084,6 +1078,41 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.


---------------------------------------------------------

---------------------------------------------------------

@nevware21/ts-utils 0.11.7 - MIT
https://github.com/nevware21/ts-utils

Copyright (c) 2022 NevWare21 Solutions LLC
Copyright (c) 2023 NevWare21 Solutions LLC
Copyright (c) 2024 NevWare21 Solutions LLC
Copyright (c) NevWare21 Solutions LLC and contributors

MIT License

Copyright (c) 2022 NevWare21 Solutions LLC

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.


---------------------------------------------------------

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