Releases: microsoft/vscode-cpptools
0.13.0
Setting up the include path for IntelliSense just got easier. When you open a folder, the extension will recursively search for potential include paths that match the header files your code is using based on the paths set by the browse.path
setting in c_cpp_properties.json and give you suggestions to help you set up the include path. Click on the green squiggles under #include statements and a light bulb will appear and offer suggestions of paths that will allow IntelliSense to resolve the included file.
Reference highlighting support is now provided by the extension. Moving the text cursor over a symbol in the editor will highlight matching symbols in the same file. When the IntelliSense engine is set to "Default", only matching symbols will be highlighted (as shown below). When the IntelliSense engine is set to "Tag Parser", all exact word matches will be highlighted. This feature corresponds to VS Code's editor.occurrencesHighlight
setting. Selecting a range of text will continue to invoke VS Code's editor.selectionHighlight
behavior.
When you set the IntelliSense engine to "Default" you will now start to see parameter hints only for the functions that match the context in which the function is invoked. Hints will also be presented for template arguments. Previously, the extension returned hints for all functions with a matching name, regardless of context.
- The IntelliSense database now correctly removes symbols for files in paths that have been removed from the
browse.path
setting. #262 - Multiline comments now automatically insert
*
on new lines when the comment starts with/**
. #579 - When the IntelliSense engine is set to "Tag Parser", Go to definition, completion, and parameter hints for partially scoped members now works as expected. #635
macFrameworkPath
now correctly resolves variables and~
. #970
0.12.3
We fixed a regression in the parsing code related to file paths that contain multi-byte Unicode characters. The bug caused the browse database to be incomplete, which broke goto definition/declaration. #958
We also added a command to reset the browse database. In the event that you change the "browse.path"
setting in c_cpp_properties.json, the browse database may not remove some of the symbols that were added previously. This new command allows you to purge all symbols from the database and reparse the workspace. #464, #601
0.12.2
0.12.1
- Fix Tag Parser features not working with some MinGW library code.
- Fix a symbol search crash.
- Fix an IntelliSense engine compiler crash.
- Fix
Go to Declaration
to returnGo to Definition
results if the declarations have no results. - Fixes for language server issues: #870, #872, #875,
- Deprecate
addWorkspaceRootToIncludePath
setting and instead make${workspaceRoot}
inbrowse.path
explicit. - Add
Show Release Notes
command. - Add
Edit Configurations...
command to theSelect a Configuration...
dropdown. - Update Microsoft Visual C++ debugger to Visual Studio 2017 released components.
- Fix issue in MinGW/Cygwin debugging where stop debugging causes VS Code to hang. microsoft/MIEngine#636
0.12.0
- The default IntelliSense engine now provides semantic-aware autocomplete suggestions for
.
,->
, and::
operators. #13 - The default IntelliSense engine now reports the unresolved include files in referenced headers and falls back to the Tag Parser until headers are resolved.
- This behavior can be overridden by setting
"C_Cpp.intelliSenseEngineFallback": "Disabled"
- This behavior can be overridden by setting
- Added
"C_Cpp.intelliSenseMode"
setting to allow switching between MSVC and Clang modes. #710, #757 - A crashed IntelliSense engine no longer gives the popup message, and it automatically restarts after an edit to the translation unit occurs.
- Fix the IntelliSense engine to use "c" mode if a C header is opened before the C file.
- Fix a bug which could cause the IntelliSense engine to not update results if changes are made to multiple files of a translation unit.
- Auto
files.association
registers "c" language headers whenGo to Definition
is used in a C file. - Downloading extension dependencies will retry up to 5 times in the event of a failure. #694
- Changes to
c_cpp_properties.json
are detected even if file watchers fail. - Update default IntelliSense options for MSVC mode to make Boost projects work better. #775
- Fix
Go to Definition
not working until allbrowse.path
files are re-scanned. #788
0.11.4
0.11.3
0.11.2
Enabling the new IntelliSense engine by default for everyone turned out to be disruptive for a lot of our users, so we are disabling it by default for non-Insiders while we work on a better migration experience.
We appreciate the time everyone has taken to provide feedback.
0.11.1
This update improves the debugger setup experience by adding new commands to the command palette and configuration snippets for launch.json.
More detail about these features can be found here.
Based on the telemetry received from our customers using the new IntelliSense engine on the Insider build as well as those who opted in, we decided to enable it by default for all VS Code users.
We committed fixes for the following language server issues: #120, #546, #604, #606, #648, #656, #662, #666, #673, #685, #691, #699
0.11.0
In this release we are making available a preview of the first few features supported by the new IntelliSense engine. You can check out the feature by changing the C_Cpp.intelliSenseEngine
setting to Default
in your settings.json file. We describe the features currently implemented in more detail here.
We know the results of the IntelliSense engine aren't perfect (that's why this feature is in preview), so we would appreciate your feedback on the experience so we can prioritize the issues and make it better for everyone.
An important thing to note is that we have changed the meaning of the includePath
setting in your c_cpp_properties.json file. The includePath
setting now controls the (non-recursive) paths that are used by IntelliSense when parsing your files. The old (recursive) paths you used to set for includePath
are being moved to the browse.path
setting. When you open a folder in VS Code, we will copy your existing includePath
setting to the browse.path
setting if the browse.path
setting is non-existent. If you don't have a c_cpp_properties.json file for your folder, we will pick a default set of folders as described in the blog post linked above.
We also committed fixes for the following language server issues: #23118, #485 #584, #586, #591, #593, #608, #611, #625, #630, #641, #650, #653, #654