Releases: microsoft/vscode-cpptools
0.24.0-insiders2
Instructions
Set the "C_Cpp.updateChannel" setting to "Insiders" to auto-install the latest Insiders vsix. Or if that doesn't work (such as in the remote scenario), manually download and install the vsix that matches the target OS.
Requirements
- VS Code 1.30.0 or later.
Changes
Minor Changes
- Change
C_Cpp.clang_format_path
tomachine
scope. #3774 - Removed syntactic/lexical colorization from
enhancedColorization
. PR #3821
Bug Fixes
- Fix crash when tag parsing Objective-C code. #3776
- Fix duplicate slashes getting added to
c_cpp_properties.json
. PR #3778 - Fix incorrect "file already opened in editor" message on Linux/Mac. #3786
- Fix colorization for themes with background colors equal to the editor background color. #3780
- Improve performance of colorization. #3781
- Fix regression crash on hover. #3792
Known Issues
- There are still some crashes.
0.24.0-insiders
Instructions
Set the "C_Cpp.updateChannel" setting to "Insiders" to auto-install the latest Insiders vsix.
Requirements
- VS Code 1.30.0 or later.
Changes
New Features
- Syntactic/lexical and semantic colorization Documentation #230 #3460
- Add
Rescan Workspace
command. microsoft/vscode-cpptools-api#11
Minor Changes
- Configuration UI editor improvements:
- Enable
envFile
forcppdbg
. PR #3723 - Change the default path value of
C_Cpp.intelliSenseCachePath
. #3347 #3664
Bug Fixes
- Fix IntelliSense-based
Go to Definition
for goto labels. #3111 - Fix IntelliSense behaving incorrectly when files are opened with different casing on Windows. #3229
- Fix user defined literals crashing IntelliSense in clang/gcc mode. #3481
- Fix IntelliSense-based hover document comments being shown for invalid declarations not used by the current translation unit. #3596
- Fix
Go to Definition
when isvoid
missing in the parameter list of a function definition a .c file. #3609 - Fix configuration validation of compiler path and IntelliSense mode compatibility for
clang-cl.exe
compiler. #3637 - Fix resolving
${workspaceFolderBasename}
and add${workspaceStorage}
. #3642 - Fix IntelliSense-based
Go to Definition
performance issue due to extra database iteration. #3655 - Fix
SourceRequest
causing debugging to stop withNotImplementedException
. #3662 - Fix typo in
intelliSenseMode
description. - Fix invalid warning with typedef enums in .c files. #3685
- Fix incorrect
keyword
completion occurring for pragma#keyword
. #3690 - Fix problem matcher to show fatal errors from GCC #3712
- Fix multi-root folders with the same name sharing the same browse database. PR #3715
- Fix
remoteProcessPicker
on Windows. #3758 - Fix configuration squiggles not appearing for multiple occurrences of the same error. #3765
- Improvements to CPU and memory usage when editing.
- Fix pause not working when using
DebugServer
/MIDebuggerServerAddress
on Linux and macOS. MIEngine#844 - Fix multiple anonymous unions not showing correctly in Locals while debugging. MIEngine#820
Known Issues
- None so far.
0.23.1
Instructions
To use the "offline" .vsix (that doesn't download OS-based dependencies on extension activation), download the .vsix that matches your OS and run the "Install from VSIX" command in VS Code.
Requirements
- VS Code 1.30.0 or later.
Changes
Bug Fixes
- Fix
launch.json
creation whenintelliSenseEngine
is"Disabled"
. #3583 - Fix C/C++ commands not working if the language service isn't activated. #3615
- Fix missing extension
"Details"
page. #3621 - Fix some random crashes related to IntelliSense inactive region processing.
Known Issues
- None yet.
0.23.0
Instructions
To use the "offline" .vsix (that doesn't download OS-based dependencies on extension activation), download the .vsix that matches your OS and run the "Install from VSIX" command in VS Code.
Requirements
- VS Code 1.30.0 or later.
Changes
New Features
- Add a configuration UI editor to edit IntelliSense settings defined in the underlying
c_cpp_properties.json
file. PR #3479, PR #3487, PR #3519, #3524, PR #3563, #3526- Add a new command
C/C++: Edit configurations (UI)
to open the UI editor. - Replace the
C/C++: Edit configurations...
command withC/C++: Edit configurations (JSON)
to openc_cpp_properties.json
. - The default whether to open the UI editor or JSON file is based on the
workbench.settings.editor
setting.
- Add a new command
- Add command
C/C++: Log Diagnostics
to log language service diagnostics. PR #3489 - Add support for
.env
files forcppvsdbg
. #3490
Other Changes
- Enable flag
/permissive-
as an argument tocompilerPath
withcl.exe
. #1589, #3446 - Configuration squiggles for
c_cpp_properties.json
now validates if the setting values ofcompilerPath
andintelliSenseMode
match on Windows. #2983 - Enable
-fms-extensions
to be used as an argument tocompilerPath
on Linux/Mac. #3063 - Change the default value of
C_Cpp.intelliSenseEngineFallback
setting toDisabled
. #3165 - Add squiggle when
compilerPath
uses spaces and arguments without"
. #3357 - Change the
Disabled
value forC_Cpp.errorSquiggles
to stop showing missing header squiggles. #3361 - Add
enableConfigurationSquiggles
setting to allow squiggles to be disabled forc_cpp_properties.json
. #3403 - Switch to using the
installExtension
command for offline/insider vsix installing (to reduce install failures). #3408 - Add a better example to the description of
C_Cpp.clang_format_style
andC_Cpp.clang_format_fallback_style
. #3419 - Add a new (default) value of
EnabledIfIncludesResolve
toC_Cpp.errorSquiggles
, which only shows error squiggles if include headers are successfully resolved. PR #3421 - Disable debug heap by default with cppvsdbg. #3484
- Reported by Djoulihen (@Djoulihen)
- Enable configuration squiggles for paths delimited by semicolons. PR #3517
- Don't show release notes if the extension has never been installed before. #3533
- Remove IntelliSense fallback code actions.
Bug Fixes
- Fix browsing for functions with BOOST_FOREACH. #953
- Work around issue with VS Code not treating
.C
files as C++ files Microsoft/vscode#59369 --.C
files become associated by name infiles.associations
. #2558 - Fix various IntelliSense parsing bugs. #2824, #3110, #3168
- Preserve newlines in documentation comments. #2937
- Fix documentation comments above multi-line templates (and some other issues). #3162
- Fix "Extension causes high cpu load" due to module loading. #3213
- Fix auto-removal of compiler-provided paths in
includePath
when they end with a directory separator on Windows. #3245 - Fix duplicate compiler build tasks appearing when
compilerPath
has arguments. PR #3360 - Fix environment variables not resolving with
C_Cpp.intelliSenseCachePath
. #3367 - Fix the formatting of snippets text. #3376
- Fix the default
AccessModifierOffset
used when formatting. #3376 - Fix null reference during initialization when using custom configuration providers. PR #3377
- Fix symbol parsing when
__MINGW_ATTRIB_*
is used. #3390 - Fix
compile_commands.json
configuration prompt being disabled per user instead of per folder. PR #3399 - Fix
.cmd
and.bat
files not working forcompilerPath
on Windows. #3428 - Fix
compilerPath
with arguments that are surrounded by quotes. #3428 - Fix documentation comments interpreting special characters as markdown. #3441
- Fix hover using the configuration of the active document instead of the hovered document. #3452
- Fix
c_cpp_properties.json
squiggles when the configuration name has regex characters. PR #3478 - Use the
editor.tabSize
setting instead of2
when creating build tasks. PR #3486 - Fix some potential crashes on hover. #3509
- Fix for
NullReferenceException
occurring when"args"
is not specified inlaunch.json
. #3532 - Fix
Go to Definition
giving no results when IntelliSense doesn't find the symbol. #3549 - Fix configuration squiggles with trailing backslashes. PR #3573
- Fix
includePath
code actions, configuration prompts, and theC/C++: Change configuration provider...
command. PR #3576 - Fix randomly occurring crash (that could occur when opening files while IntelliSense squiggles are pending).
- Fix crash on hover (that could occur when document comments have blank lines).
- Fix code action sometimes not appearing over a squiggled identifier.
- Fix icon of parameters in completion results.
Known Issues
- None yet.
0.23.0-insiders2
Instructions
Set the "C_Cpp.updateChannel" setting to "Insiders" to auto-install the latest Insiders vsix.
Requirements
- VS Code 1.30.0 or later.
Changes
New Features
- Add support for
.env
files forcppvsdbg
. #3490
Minor Changes
- Switch to using the
installExtension
command for offline/insider vsix installing (to reduce install failures). #3408 - Enable configuration squiggles for paths delimited by semicolons. PR #3517
- Add
Edit Configurations (JSON)
to theSelect a configuration
dropdown. PR #3519 - Update configuration UI to save changes after the UI changes focus. #3524
- Don't show release notes if the extension has never been installed before. #3533
- Add input validation to the configuration UI. PR #3563
- Add process ID and memory usage to
C/C++: Log Diagnostics
results. - Remove IntelliSense fallback code actions.
Bug Fixes
- Work around issue with VS Code not treating
.C
files as C++ files Microsoft/vscode#59369 --.C
files become associated by name infiles.associations
. #2558 - Fix "Extension causes high cpu load" due to module loading. #3213
- Fix backslashes getting added each time settings are saved. #3526
- Fix regression with some C++17 features with
msvc-x64
mode. #3541 - Fix
Go to Definition
giving no results when IntelliSense doesn't find the symbol. #3549 - Fix configuration squiggles with trailing backslashes. PR #3573
- Fix
includePath
code actions, configuration prompts, and theC/C++: Change configuration provider...
command. PR #3576 - Fix crash on hover (that could occur when document comments have blank lines).
- Fix randomly occurring crash (that could occur when opening files while IntelliSense squiggles are pending).
Known Issues
- None so far.
0.23.0-insiders
Instructions
Set the "C_Cpp.updateChannel" setting to "Insiders" to auto-install the latest Insiders vsix.
Requirements
- VS Code 1.30.0 or later.
Changes
New Features
- Add a configuration UI editor to edit IntelliSense settings defined in the underlying
c_cpp_properties.json
file. PR #3479, PR #3487- Add a new command
C/C++: Edit configurations (UI)
to open the UI editor. - Replace the
C/C++: Edit configurations...
command withC/C++: Edit configurations (JSON)
to openc_cpp_properties.json
. - The default whether to open the UI editor or JSON file is based on the
workbench.settings.editor
setting.
- Add a new command
- Add command
C/C++: Log Diagnostics
to log language service diagnostics. PR #3489
Minor Changes
- Configuration squiggles for
c_cpp_properties.json
now validates if the setting values ofcompilerPath
andintelliSenseMode
match on Windows. #2983 - Change the default value of
C_Cpp.intelliSenseEngineFallback
setting toDisabled
. #3165 - Change the
Disabled
value forC_Cpp.errorSquiggles
to stop showing missing header squiggles. #3361 - Add a new (default) value of
EnabledIfIncludesResolve
toC_Cpp.errorSquiggles
, which only shows error squiggles if include headers are successfully resolved. PR #3421 - Enable flag
/permissive-
as an argument tocompilerPath
withcl.exe
. #3446 - Disable debug heap by default with cppvsdbg. #3484
- Reported by Djoulihen (@Djoulihen)
Bug Fixes
- Fix browsing for functions with BOOST_FOREACH. #953
- Preserve newlines in documentation comments. #2937
- Fix documentation comments above multi-line templates (and some other issues). #3162
- Fix auto-removal of compiler-provided paths in
includePath
when they end with a directory separator on Windows. #3245 - Fix
.cmd
and.bat
files not working forcompilerPath
on Windows. #3428 - Fix
compilerPath
with arguments that are surrounded by quotes. #3428 - Fix documentation comments interpreting special characters as markdown. #3441
- Fix a JSON parsing error when a path in
c_cpp_properties.json
ended with\\"
. #3449 - Fix hover using the configuration of the active document instead of the hovered document. #3452
- Fix
c_cpp_properties.json
squiggles when the configuration name has regex characters. PR #3478 - Use the
editor.tabSize
setting instead of2
when creating build tasks. PR #3486 - Fix some potential crashes on hover. #3509
- Fix icon of parameters in completion results.
- Fix code action sometimes not appearing over a squiggled identifier.
Known Issues
0.22.2-insiders
Instructions
Set the "C_Cpp.updateChannel" setting to "Insiders" to auto-install the latest Insiders vsix.
Requirements
- VS Code 1.30.0 or later.
Bug Fixes
- Fix various IntelliSense parsing bugs. #2824, #3110, #3168
- Enable
-fms-extensions
to be used as an argument tocompilerPath
on Linux/Mac. #3063 - Fix duplicate compiler build tasks appearing when
compilerPath
has arguments. PR #3360 - Add squiggle when
compilerPath
uses spaces and arguments without"
. #3357 - Fix environment variables not resolving with
C_Cpp.intelliSenseCachePath
. #3367 - Fix the formatting of snippets text. #3376
- Fix the default
AccessModifierOffset
used when formatting. #3376 - Fix null reference during initialization when using custom configuration providers. PR #3377
- Fix symbol parsing when
__MINGW_ATTRIB_*
is used. #3390 - Fix
compile_commands.json
configuration prompt being disabled per user instead of per folder. PR #3399 - Add
enableConfigurationSquiggles
setting to allow squiggles to be disabled forc_cpp_properties.json
. #3403
Known Regressions
Nothing yet.
0.22.1
Instructions
To use the "offline" .vsix (that doesn't download OS-based dependencies on extension activation), download the .vsix that matches your OS and run the "Install from VSIX" command in VS Code.
Requirements
- VS Code 1.30.0 or later.
Changes (fixes issues found in 0.22.0)
- Fix
tasks.json
with single-line comments being overwritten whenBuild and Debug Active File
is used. #3327 - Fix an invalid
compilerPath
property getting added totasks.json
after doingConfigure Task
with a C/C++ compiler. - Add IntelliSense caching for macOS 10.13 or later (0.22.0 only supported Windows and Linux).
Known Issues
- C_Cpp.intelliSenseCachePath doesn't resolve tilde or env for home directory. #3367
0.22.0
Instructions
To use the "offline" .vsix (that doesn't download OS-based dependencies on extension activation), download the .vsix that matches your OS and run the "Install from VSIX" command in VS Code.
Requirements
- VS Code 1.30.0 or later.
Major Changes
- Add warning squiggles for invalid properties and paths in
c_cpp_properties.json
. #2799, PR #3283 - Add C/C++ compiler build tasks for compiling the active source file, with support for
F5
debugging and theBuild and Debug Active File
context menu command. PR #3118, PR #3244 - Add AutoPCH support to reduce IntelliSense parsing time, with
C_Cpp.intelliSenseCachePath
andC_Cpp.intelliSenseCacheSize
settings. It isn't enabled for Mac yet. PR #3184
Minor Changes
- Fix IntelliSense not working on Windows when the username has a space in it and file
C:\Users\<firstname>
exists. #1377, #2114, #2176, #3052, #3139 - Enable
${command:cpptools.activeConfigName}
in tasks. #1524 - Fix bugs with squiggles and IntelliSense updating after edits. #1779, #3124, #3260
- Fix formatting (and other non-IntelliSense operations) being blocked by IntelliSense processing. #1928
- Fix completion when the start of an identifier matches a keyword. #1986
- Fix auto-removal of compiler-provided paths in
includePath
. #2177 - Fix crash on Windows when 8.3 filenames are used. #2453, #3104
- Add support for
Scope::Member
scoped symbol searches. #2484 - Fix signature help active parameter selection when parameter names are missing or subsets of each other. #2952
- Fix
--enable-pretty-printing
withgdb
when complex objects are used as keys in maps. #3024 - Fix IntelliSense-based
Go to Definition
fornoexcept
methods. #3060 - Render macro hover expansions as C/C++. #3075
- Enable completion after
struct
when manually invoked. #3080 - Add
C_Cpp.suggestSnippets
setting to disable language server snippets. #3083 - Show a prompt for changing
C_Cpp.updateChannel
toInsiders
. #3089 - Fix
compilerPath
not getting priority over thecompile_commands.json
compiler. #3102 - Fix Linux
compile_commands.json
compiler querying with relative paths. #3112 - Allow
*
inincludePath
to apply tobrowse.path
whenbrowse.path
is not specified. #3121 - Disable
(
and<
completion commit characters. #3127 - Add Chinese translations for command titles. PR #3128
- Fix remote process picker bug. #2585, #3150
- Fix command not found and empty
c_cpp_properties.json
if activation is too slow. #3160, #3176 - Fix
cppvsdbg
debugger showing"An unspecified error has occurred."
for structured binding variables. #3197 - Fix bugs with the Insider reload prompt appearing when it shouldn't. #3206
- Fix variable expansion (e.g.
${env.HOME}
) not working when${default}
is used inc_cpp_properties.json
. #3309 - Fix other unreported IntelliSense engine bugs.
Known Issues
0.22.0-insiders3
Instructions
Set the "C_Cpp.updateChannel" setting to "Insiders" to auto-install the latest Insiders vsix.
Requirements
- VS Code 1.30.0 or later.
Bug Fixes
- Fix bugs with squiggles and IntelliSense updating after edits. #1779, #3124, #3260
- Fix formatting (and other non-IntelliSense operations) being blocked by IntelliSense processing. #1928
- Show a prompt for changing
C_Cpp.updateChannel
toInsiders
. #3089 - Fix bugs with the Insider reload prompt appearing when it shouldn't. #3206
- Enable
F5
and theBuild and Debug Active File
context menu command. PR #3244 - Fix IntelliSense process crashing with Mac Sierra 10.12 or earlier. #3256
- Fix incorrect
c_cpp_properties.json
squiggles withcl.exe
. #3263 - Add
cl.exe
build and debug support. PR #3264 - Fix debugging not working for Windows 32-bit programs. #3258
- Add warning squiggles for invalid properties in
c_cpp_properties.json
. PR #3283 - Fix AutoPCH performance on Windows and Linux.
Known Regressions (or bugs with new features)
Nothing "major" yet.