Skip to content

Releases: microsoft/vscode-cpptools

0.17.7

19 Jul 21:46
2b24520
Compare
Choose a tag to compare
  • Fix Go to Definition for code scoped with an aliased namespace. #387
  • Fix incorrect IntelliSense errors with template template-arguments. #1014
  • Fix crash when using designated initializer lists. #1440
  • Add windowsSdkVersion to c_cpp_properties.json. #1585
  • Add ${vcpkgRoot} variable. #1817
  • Fix dangling IntelliSense processes. #2075, #2169
  • Fix incorrect IntelliSense errors when class template argument deduction is used. #2101
  • Skip automatic parsing of source files in Mac system framework paths. #2156
  • Fix Edit Configurations... not working after c_cpp_properties.json is deleted. #2214
  • Fix indexing of the entire root drive on Windows when no is folder open. #2216
  • Disable the config provider message for headers outside the workspace and when debugging. #2221
  • Add Change Configuration Provider... command. #2224
  • Fix out-of-memory crash with #include code actions when no folder is open. #2225
  • Fix intelliSenseMode with custom config providers on Windows. #2228
  • Fix formatting not working on Windows if the VC++ 2015 redist isn't installed. #2232
  • Fix variables not resolving in macFrameworkPath. #2234
  • Fix Go to Definition not working for macros followed by . or ->. #2245
  • Fix #include autocomplete with Mac framework headers. #2251
  • Fix for debugging to support empty arguments for debuggee. #2258
  • Fix Go to Definition bug (missing symbols outside the workspace). #2281
  • Add a setting to silence configuration provider warnings. #2292
  • Fix for debugging async Visual C++ causing debugger to hang.
  • Fix main snippet.

Known Issues

  • Due to bug #2169 from the previous release, you may still experience failures until all the dangling, old processes are killed (or restarting your machine), because the processes maintain a lock on the same database file. See #2296 for one case of this.

Instructions

Download the .vsix that matches your OS and run the "Install from VSIX" command in VS Code.

0.17.7-insiders

13 Jul 00:23
6dc1494
Compare
Choose a tag to compare
0.17.7-insiders Pre-release
Pre-release
  • Fix Go to Definition for code scoped with an aliased namespace. #387
  • Fix incorrect IntelliSense errors with template template-arguments. #1014
  • Fix crash when using designated initializer lists. #1440
  • Add windowsSdkVersion to c_cpp_properties.json. #1585
  • Add ${vcpkgRoot} variable. #1817
  • Fix dangling IntelliSense processes and stuck red flame. #2075, #2077, #2169
  • Fix incorrect IntelliSense errors when class template argument deduction is used. #2101
  • Skip automatic parsing of source files in Mac system framework paths. #2156
  • Fix Edit Configurations... not working after c_cpp_properties.json is deleted. #2214
  • Fix indexing of the entire root drive on Windows when no is folder open. #2216
  • Disable the config provider message for headers outside the workspace and when debugging. #2221
  • Add Change Configuration Provider... command. #2224
  • Fix out-of-memory crash with #include code actions when no folder is open. #2225
  • Fix intelliSenseMode with custom config providers on Windows. #2228
  • Fix variables not resolving in macFrameworkPath. #2234
  • Fix Go to Definition not working for macros followed by . or ->. #2245

Known Issues

This release had some regressions (unreported) that were fixed in the final 0.17.7 release.

Instructions

Download the .vsix that matches your OS and run the "Install from VSIX" command in VS Code.

0.17.6

02 Jul 21:38
863d264
Compare
Choose a tag to compare
  • Fix the database icon getting stuck with recursive includes. #2104
  • Fix the red flame appearing late with recursive includes. #2105
  • Fix source files being parsed in system directories. #2156
    NOTE: This wasn't fixed for system frameworks on Mac.
  • Fix internal document corruption (visible after formatting) when edits are made too soon after activation. #2162
  • Fix a crash when saving with recursive includes. #2173
  • Fix a crash when the includePath or browse.path is "**". #2174
  • Fix IntelliSense for WSL without g++ installed. #2178
  • Fix random IntelliSense (completion) failures due to edits being delayed. #2184
  • Fix database deletion failure with non-ASCII file paths on Windows. #2205
  • Fix Go to Definition results with var:: and var->, and filter out invalid constructor results. #2207
  • Fix a performance bug with recursive includes.
  • Fixed a CPU usage problem on Mac related to system frameworks parsing.
  • Keep the IntelliSense process around for 10 seconds after a file is closed in case it's needed again.
  • Added an API so build system extensions can provide IntelliSense configurations for source files. More details at npmjs.com.
  • Fix automatic argument quoting when debugging with gdb/lldb to include when the argument has a '(' or ')' in it. Also escape existing '"' symbols.
  • Removed - in ps call for ProcessPicker and RemoteProcessPicker. #2183

Instructions

Download the .vsix that matches your OS and run the "Install from VSIX" command in VS Code.

0.17.5

22 Jun 03:30
9604256
Compare
Choose a tag to compare
  • Detect compile_commands.json and show prompt to use it. #1297
  • Change inactive regions from gray to translucent. #1907
  • Improve performance of recursive includes paths. #2068
  • Fix IntelliSense client failure due to No args provider. #1908
  • Fix #include completion with headers in the same directory. #2031
  • Fix non-header files outside the workspace folder not being parsed (i.e. so Go to Definition works). #2053
  • Fix some crashes. #2080
  • Support asm clobber registers on Windows. #2090
  • Fix usage of ${config:section.setting}. #2165
  • browse.path now inherits includePath if not set in c_cpp_properties.json.
  • On Windows, compilerPath now populates with the guessed cl.exe path, and the MSVC include path is based on the cl.exe path.
  • Fix files under a non-recursive browse.path being removed from the database.
  • Fix * not working in browse.path with WSL.
  • Fix for -break-insert main returning multiple bind points. #729
  • Use -- instead of -x for gnome-terminal. #733
  • Added miDebuggerArgs in order to pass arguments to the program in miDebuggerPath. #720

Instructions

Download the .vsix that matches your OS and run the "Install from VSIX" command in VS Code.

0.17.5-insiders

08 Jun 01:08
4b90e4c
Compare
Choose a tag to compare
0.17.5-insiders Pre-release
Pre-release
  • Change inactive regions from gray to translucent. #1907
  • Improve performance of recursive includes paths. #2068
  • Fix #include completion with headers in the same directory. #2031
  • Support asm clobber registers on Windows. #2090
  • Fix some crashes. #2080

Instructions

Download the .vsix that matches your OS and run the "Install from VSIX" command in VS Code.

0.17.4

01 Jun 00:47
Compare
Choose a tag to compare
  • Fix infinite loop (caused by deadlock) when using recursive includes. #2043
  • Stop using recursive includes in the default configuration.
  • Fix various other potential deadlocks and crashes.
  • Fix Go to Definition on #include not filtering out results based on the path. #1253, #2033
  • Fix database icon getting stuck. #1917

Instructions

Download the .vsix that matches your OS and run the "Install from VSIX" command in VS Code.

0.17.3

22 May 23:05
d786b0f
Compare
Choose a tag to compare
  • Add support for ${workspaceFolder:folderName}. #1774
  • Fix infinite loop during initialization on Windows. #1960
  • Fix main process IntelliSense-related crashes. #2006
  • Fix deadlock after formatting large files. #2007
  • Fix recursive includes failing to find some system includes. #2019

Instructions

Download the .vsix that matches your OS and run the "Install from VSIX" command in VS Code.

0.17.2-insiders

22 May 02:29
Compare
Choose a tag to compare
0.17.2-insiders Pre-release
Pre-release
  • Fix infinite loop during initialization on Windows. #1960
  • Fix main process IntelliSense-related crashes. #2006
  • Fix deadlock after formatting large files. #2007
  • Fix recursive includes failing to find some system includes. #2019

Instructions

Download the .vsix that matches your OS and run the "Install from VSIX" command in VS Code.

NOTE

This vsix has the unintended version of 0.17.2 instead of 0.17.2-insiders, so our actual 0.17.2 was bumped to 0.17.3.

Status

This is the build we plan to release tomorrow, but we still need to do a final build and test pass (we found/fixed a last minute bug that delayed the official release).

0.17.1

17 May 22:00
c9473b2
Compare
Choose a tag to compare
  • Improve performance of recursive includes. #1949
  • Fix code navigation failure after switching between WSL and non-WSL configs. #1958
  • Fix extension crash when the includePath is a file or the root drive. #1979, #1965
  • Fix IntelliSense crash in have_member_access_from_class_scope. #1763
  • Fix #include completion bugs. #1959, #1970
  • Add Debug value for loggingLevel (previously the hidden value "6").
  • Fix C++17 features not being fully enabled with msvc-x64 mode. #1990
  • Fix IntelliSense interprocess deadlocks. #1407, #1777

0.17.0

07 May 23:54
7ea6122
Compare
Choose a tag to compare

April 2018 Update

Notable features in this release

Autocomplete for #include (#802)

If you type a " or < after the #include keyword, you will get suggestions for header files that you can include. The suggestions are computed based on your "browse.path" and "includePath".

  • NOTE: We don't inspect "compileCommands" to provide the information for this feature yet.

Configuration Improvements (#1338)

Better support for system include paths if "compilerPath" is set

If you set the "compilerPath" property in your c_cpp_properties.json configurations, you no longer need to manually add the system include paths or defines to the configurations. We will implicitly add them to "includePath", "defines", and "browse.path" for you. In other words, we will not write them to c_cpp_properties.json, but the language server will use them.

Better support for "compilerPath" on Windows (#1845, #1736)

In c_cpp_properties.json you can directly address your WSL compiler by using the linux path and we will discover the system include path for you. If you have multiple distros installed, we pick the one marked as Default when you run wslconfig.exe /l

For example:

        {
            "name": "WSL",
            "compilerPath": "/usr/bin/gcc",
            ...
        }

We also detect Cygwin now and will transform the system include path the compiler provides to one that Windows understands.

Setting default values for configuration properties (#368, #410, #1229, #1270, #1404)

New settings have been added to the extension that allow you to set defaults for all of the properties in c_cpp_properties.json configs so that you don't have to set the same values over and over if most of your projects have similar configurations.

Support for WSL on Windows builds 17110 and higher (#1694)

Starting with Windows build 17110, case-sensitive folders were turned on for WSL installations by default. The extension has been updated to work with case-sensitive files on Windows when a WSL configuration is detected.

Recursive includePath syntax (#897)

You can now use recursive paths when configuring IntelliSense. Using two asterisks ** at the end of a path instructs the extension to do a recursive search for includes starting from that folder:

    "includePath": "${workspaceFolder}/**"

We are still working on optimizations to improve the experience in large projects with hundreds of folders, but initial support is available in this release (as a result, the IntelliSense features may take longer to be available after opening/editing a file, i.e. the red flame). Also, newly added folders with headers are not picked up until the workspace is reloaded.

Code snippets

We have added a few code snippets to the extension. They will show up in the auto-complete list as you are writing code and they can be used to insert boilerplate code for common tasks like declaring a class, writing a for loop, etc.

Vcpkg integration

Vcpkg is a cross-platform package manager for C++. We will automatically add Vcpkg's header download location to the include path for opened folders that have not generated a c_cpp_properties.json configuration file yet.

Updated Visual Studio Windows Debugger

Updated the "cppvsdbg" used (i.e. when compiling with cl.exe).

We also fixed the following issues: #1559, #1577, #1771, #1782, #1783, #1790, #1819, #1873, #1890