Skip to content

Releases: microsoft/vscode-cpptools

0.13.0

25 Sep 22:59
Compare
Choose a tag to compare

September 2017 Update

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.

lightbulbs

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.

highlighting

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.

parameterhints

  • 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

17 Aug 23:53
Compare
Choose a tag to compare

August 2017 Update

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

  • Additional fixes for language server issues: #943, #944

0.12.2

17 Aug 22:12
Compare
Choose a tag to compare

0.12.1

18 Jul 23:30
Compare
Choose a tag to compare

July 2017 Update

  • 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 return Go to Definition results if the declarations have no results.
  • Fixes for language server issues: #870, #872, #875,
  • Deprecate addWorkspaceRootToIncludePath setting and instead make ${workspaceRoot} in browse.path explicit.
  • Add Show Release Notes command.
  • Add Edit Configurations... command to the Select a Configuration... dropdown.
  • Update Microsoft Visual C++ debugger to Visual Studio 2017 released components.
    • Fix issue with showing wrong thread. #550
    • Fix issue with binaries compiled with /FASTLINK causing debugger to hang. #484
  • Fix issue in MinGW/Cygwin debugging where stop debugging causes VS Code to hang. microsoft/MIEngine#636

0.12.0

28 Jun 00:13
Compare
Choose a tag to compare

June 2017 Update

  • 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"
  • 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 when Go 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 all browse.path files are re-scanned. #788

0.11.4

28 Jun 00:11
Compare
Choose a tag to compare
  • Fixed a blocking debugger issue on Linux #792

0.11.3

28 Jun 00:10
Compare
Choose a tag to compare
  • fixed a bug with automatic population of includePath on Linux/Mac

0.11.2

24 May 21:38
Compare
Choose a tag to compare

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

24 May 21:35
Compare
Choose a tag to compare

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

25 Apr 17:20
Compare
Choose a tag to compare

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