1.22.9
Instructions
The extension can be obtained by one of the methods below:
- Install the "C/C++" or "C/C++ Extension Pack" extension published by Microsoft from the Extensions view in VS Code.
- Download a vsix that matches your OS from the "Download" dropdown in the "Version History" tab section on the Marketplace website, and then use the
Extensions: Install from VSIX...command in VS Code (don't double-click the vsix or another app like VS might try to open it incorrectly). - Download a vsix that matches your OS from the Assets section below (and install it via the method mentioned above). The previous download methods have the vsix signatures verified by the Marketplace, but for this method, you can do the verification by downloading the matching manifest and signature.p7s file and running
npx @vscode/vsce@latest verify-signature -i <.vsix> -m <.signature.manifest> -s <.signature.p7s>vscode-vsce#1044.
Requirements
- VS Code 1.67.0 or later (April 2022).
- Windows 7+ (x64, arm64), macOS 10.12+, Linux (Ubuntu 16+, etc.).
Changes
Performance Improvements
- Initialization performance improvements. #12030
- Performance improvements related to how custom configurations are processed. #9003, #12632
- Improve the implementation of file buffers to reduce memory usage.
- Performance improvements related to LSP request processing.
Enhancements
- Add modified
C_Cppsettings to theC/C++: Log Diagnosticsoutput. #11700 - Add better validation for settings. #12371
- Change the default C/C++
"editor.stickyScroll.defaultModel"to"foldingProviderModel". #12483 - Remove the
C_Cpp.intelliSenseEngineFallbacksetting. #12596 - Enable
C/C++: Log Diagnosticswithout a C/C++ file being active. #12634 - Add "Additional Tracked Settings" to the
C/C++: Log Diagnosticsoutput. PR #12635 - Add support for providing additional context information to Copilot Chat. PR #12685
- Currently, it requires
"C_Cpp.experimentalFeatures": "enabled"and typing#cppin the chat.
- Currently, it requires
- The .vsix and .js files are now signed. #12725, #12744
- Add the database path to the
C/C++: Log Diagnosticsoutput. - Various IntelliSense parsing updates/fixes.
Bug Fixes
- Fix the compiler selection control not keeping the list in sync with the contents of the textbox. #7427
- Fix a string localization issue. #7824
- Fix an issue with the 'Add #include' code action incorrectly using a relative path for a system include. #12010
- Fix an issue with lingering IntelliSense squiggles after an edit. #12175
- Fix hover over static constexpr variables sometimes not working. #12284
- Fix completion not giving results in several scenarios. #12412
- Stop logging duplicate compiler path messages. #12445
- Fix an issue where a file is incorrectly processed as C instead of C++. #12466
- Fix an issue with missing database symbols after a Rename operation. #12480
- Fix include path ordering being incorrect if there is a duplicate. #12525
- Fix a WebAssembly "Out of Memory" error. #12529
- Fix an error message not being shown if the connection failed with remote attach debugging. #12547
- Thank you for the contribution. @MrStanislav0 (Stanislav)
- Fix
-Inot being used if-iquoteis also used for the same path. #12551 - Fix issues with relative paths on
nvcc(CUDA) command lines not being handled correctly. #12553 - Fix a crash on shutdown on macOS with a verbose logging level. #12567
- Fix a random crash when a child process is created. #12585
- Work around IntelliSense issues with clang 18 due to
size_tnot being defined. #12618 - Fix the
/FUflag not working for C++/CLI. #12641 - Fix a crash in
find_existing_intellisense_client. #12666 - Fix a rare crash on macOS related to
get_memory_usage. #12667 - Fix an issue with 'Extract to Function' formatting. #12677
- Fix an issue with duplicate tag parsing occurring after a Rename operation. #12728
- Fix an issue preventing use of a full command line in
compilerPath. PR #12774 - Fix an issue with clang-format/tidy version checks for some builds. #12806
- Fix an issue causing unnecessary TU updates for files opened during a Rename operation, when
"files.refactoring.autoSave": falseis used. - Fix some issues with recursive includes handling of symbolic links, multi-root, exclusion changes, and file/folder deletion.
- Fix unnecessary IntelliSense resetting when a new file or folder was created.
- Fix an infinite loop on shutdown after changing the selected settings.
- Fix accumulation of stale signature help and completion requests.
- Fix handling of the
compiler-binddircompiler argument. - Fix a random crash during IntelliSense creation.
- Fix some bugs with include completion.