Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
107 commits
Select commit Hold shift + click to select a range
64ca48b
BoxConsoleSample for build and debug demo
Mar 19, 2019
7088f54
Additional box sample files
Mar 19, 2019
ff6e13e
Add Box Sample and Remove Stale Clang Sample
Mar 21, 2019
968ce8a
Adding gitignore file
Mar 21, 2019
148ae1d
ignore cache files
bobbrow Mar 22, 2019
30d8a1d
Update FAQ.md
bobbrow Mar 22, 2019
a7cefc9
Merge branch 'master' into taraj/box-sample
Mar 22, 2019
088276b
Seanmcm/component governance (#3346)
sean-mcmanus Mar 25, 2019
0f8e7b2
Merge branch 'master' into taraj/box-sample
sean-mcmanus Mar 25, 2019
7e5f22f
updates
bobbrow Mar 26, 2019
77806f6
Add squiggle for compilerPath with args and spaces missing quotes. (#…
sean-mcmanus Mar 26, 2019
02a3152
Fix duplicate build task when compilerPath has args. (#3360)
sean-mcmanus Mar 26, 2019
dcf4809
Merge branch 'master' into taraj/box-sample
sean-mcmanus Mar 26, 2019
e054287
Update for 0.22.2. (#3359)
sean-mcmanus Mar 27, 2019
bcdabc9
Attempt to fix Azure Pipelines Cl. (#3371)
sean-mcmanus Mar 28, 2019
b0c2d54
Merge branch 'master' into taraj/box-sample
sean-mcmanus Mar 28, 2019
d5a902e
Enable environment variables with intelliSenseCachePath. (#3368)
sean-mcmanus Mar 28, 2019
eb976d5
Merge branch 'master' into taraj/box-sample
sean-mcmanus Mar 29, 2019
f5bdac9
Merge pull request #3314 from Microsoft/taraj/box-sample
Apr 2, 2019
e8d0ded
Fix for null ref race condition when using custom config providers. (…
sean-mcmanus Apr 2, 2019
9f842ac
Add use of queryTranslationUnitSource to determine if custom configur…
Colengms Apr 3, 2019
0773ec8
Fix compile_commands prompt not being per-folder. (#3399)
sean-mcmanus Apr 3, 2019
34d8874
Seanmcm/disable cpp squiggles (#3405)
sean-mcmanus Apr 3, 2019
93a88c9
Ensure clearCustomConfigurations() is called when changing the config…
Colengms Apr 4, 2019
8129ce3
Add call to notifyWhenReady, to prevent crash (#3406)
Colengms Apr 4, 2019
b770030
Update changelog for 0.22.2-insiders. (#3409)
sean-mcmanus Apr 4, 2019
0f67f54
Seanmcm/small changes for insiders (#3435)
sean-mcmanus Apr 9, 2019
c978eb0
Reorder contents of provideCustomConfiguration, as an optimization (#…
Colengms Apr 11, 2019
fbf8ed4
Fix bug with json parsing.
sean-mcmanus Apr 11, 2019
3b5a846
Update line endings.
sean-mcmanus Apr 11, 2019
74c9b0b
Replace 3 replace with 1.
sean-mcmanus Apr 11, 2019
3ef0b75
Undo checked in files.
sean-mcmanus Apr 11, 2019
a4e9df0
Merge branch 'seanmcm/fixJsonParse' of https://github.com/Microsoft/v…
sean-mcmanus Apr 11, 2019
5b90fc6
Attempt to undo commits.
sean-mcmanus Apr 11, 2019
59b0b3f
Merge branch 'seanmcm/fixJsonParse' of https://github.com/Microsoft/v…
sean-mcmanus Apr 11, 2019
31b9939
Another attempt to undo changes.
sean-mcmanus Apr 11, 2019
f72a3de
Undo activation events change.
sean-mcmanus Apr 11, 2019
f848bf3
Fix hover using the active client instead of the owning client.
sean-mcmanus Apr 12, 2019
eeb2ba2
Work in progress.
sean-mcmanus Apr 16, 2019
bdc8322
Go back to my original fix.
sean-mcmanus Apr 16, 2019
8c8c2c2
Undo line changes.
sean-mcmanus Apr 16, 2019
2e8cd7f
Fix bug with special chars in config name.
sean-mcmanus Apr 16, 2019
0b500ce
Fix line endings.
sean-mcmanus Apr 16, 2019
2aeadbd
Update FAQs.md for ipch folder (#3424)
bobbrow Apr 17, 2019
ae861b3
Change sorting.
sean-mcmanus Apr 17, 2019
6de2250
Merge branch 'master' into seanmcm/fixRegExpInConfigName
sean-mcmanus Apr 17, 2019
569a7cb
Merge pull request #3478 from Microsoft/seanmcm/fixRegExpInConfigName
sean-mcmanus Apr 17, 2019
03cf4d7
Default intelliSenseEngineFallback to Disabled. Add additional setti…
Colengms Apr 17, 2019
806dc8a
Merge branch 'master' into seanmcm/fixMultiRootHover
sean-mcmanus Apr 17, 2019
76b3d9c
Merge pull request #3455 from Microsoft/seanmcm/fixMultiRootHover
sean-mcmanus Apr 17, 2019
99b2905
Configuration UI (#3479)
michelleangela Apr 17, 2019
260dc5d
Merge branch 'master' into seanmcm/fixJsonParse
sean-mcmanus Apr 18, 2019
7e7b38a
When generating tasks.json, use the editor's tab setting
bobbrow Apr 18, 2019
239e401
Add config squiggle for intelliSenseMode/compilerPath mismatch (#3483)
Colengms Apr 18, 2019
1057608
Merge branch 'master' into bobbrow/tasksIndentation
bobbrow Apr 18, 2019
8526bc9
Add debugHeap toggle and turn off by default (#3488)
WardenGnaw Apr 18, 2019
03a6c04
Merge branch 'master' into seanmcm/fixJsonParse
sean-mcmanus Apr 18, 2019
7ae6818
Add styling to configuration UI (#3487)
michelleangela Apr 19, 2019
94e2134
Merge branch 'master' into seanmcm/fixJsonParse
sean-mcmanus Apr 19, 2019
009c77d
Merge pull request #3453 from Microsoft/seanmcm/fixJsonParse
sean-mcmanus Apr 19, 2019
f15994a
Merge branch 'master' into bobbrow/tasksIndentation
sean-mcmanus Apr 19, 2019
a39b1a5
Merge pull request #3486 from Microsoft/bobbrow/tasksIndentation
sean-mcmanus Apr 19, 2019
0e3fea9
Add command to log language service diagnostics (#3489)
Colengms Apr 19, 2019
d3e8958
Update ThirdPartyNotices.txt
sean-mcmanus Apr 19, 2019
d4d68cb
Show the log diagnostics.
sean-mcmanus Apr 19, 2019
39b89bd
Undo newline change.
sean-mcmanus Apr 19, 2019
3a78e96
Add check for undefined compilerPath in isCompilerIntelliSenseModeCom…
Colengms Apr 19, 2019
7407059
Merge branch 'master' into seanmcm/updateThirdPartyNotices
sean-mcmanus Apr 19, 2019
4cdcd72
Merge branch 'master' into seanmcm/showLogDiagnostics
sean-mcmanus Apr 19, 2019
d7a3384
Merge pull request #3495 from Microsoft/seanmcm/updateThirdPartyNotices
sean-mcmanus Apr 19, 2019
3b15f51
Merge branch 'master' into seanmcm/showLogDiagnostics
sean-mcmanus Apr 19, 2019
5d1e503
Merge pull request #3497 from Microsoft/seanmcm/showLogDiagnostics
sean-mcmanus Apr 19, 2019
dd590ea
Config UI - fix colors on some html elements. Change some wording. (#…
michelleangela Apr 20, 2019
7960904
changelog for 0.23.0 insiders (#3499)
michelleangela Apr 20, 2019
9a78289
encode the installation type in install telemetry (#3513)
bobbrow Apr 23, 2019
bf9d69a
Update changelog.
sean-mcmanus Apr 23, 2019
4bf3691
Move issue.
sean-mcmanus Apr 23, 2019
33d23b3
Revert line endings.
sean-mcmanus Apr 23, 2019
968d6c5
Add a reported by.
sean-mcmanus Apr 23, 2019
bbfea25
Config UI data sync fix (#3515)
michelleangela Apr 23, 2019
bc70ea8
Merge branch 'master' into seanmcm/0_23_0_changelog2
sean-mcmanus Apr 23, 2019
e863e88
Merge pull request #3516 from Microsoft/seanmcm/0_23_0_changelog2
sean-mcmanus Apr 24, 2019
f3a02fd
Change version. (#3520)
sean-mcmanus Apr 24, 2019
cfc908a
Update Select Configurations command to offer Edit Configs JSON optio…
Colengms Apr 24, 2019
3fbeba7
Unescape backslashes in settings for UI (#3527)
Colengms Apr 24, 2019
6f4439c
Various settings UI load/save related changes (#3529)
Colengms Apr 25, 2019
26d83d1
Skip first install release notes (#3534)
sean-mcmanus Apr 26, 2019
e3ddec6
Update config squiggle parsing to squiggle bad paths delimited by sem…
Colengms Apr 26, 2019
aa6873b
Work around vscode not treating .C files as C++ (#3536)
Colengms Apr 26, 2019
d6726e5
Switch to using the installExtension command for offline/insider vsix…
Colengms Apr 26, 2019
a590527
Bobbrow/webpack (#3411)
sean-mcmanus Apr 26, 2019
2ac3397
Update webpack dependency, fix linter errors (#3544)
sean-mcmanus Apr 26, 2019
6a88c99
Adding support for .env files for cppvsdbg (#3500)
WardenGnaw Apr 26, 2019
110e683
Work around issue with getting stale contents from openTextDocument (…
Colengms Apr 29, 2019
05939c1
add depends on (#3561)
michelleangela Apr 29, 2019
788cee3
Fix out dir not getting created. (#3562)
sean-mcmanus Apr 29, 2019
7f4fc33
Add input validation on configuration UI (#3563)
michelleangela Apr 30, 2019
f465766
Undo tab size change (#3568)
Colengms Apr 30, 2019
e5b118c
Update changelog for 0.23.0-insiders2. (#3570)
sean-mcmanus Apr 30, 2019
e0543a6
Seanmcm/0 23 0 insiders2 changelog2 (#3571)
sean-mcmanus Apr 30, 2019
dc8813f
Fix undefined access if there's no includePath. (#3572)
sean-mcmanus May 1, 2019
77f3747
Fix `includePath` code actions and configuration actions. (#3576)
sean-mcmanus May 1, 2019
b67e701
Address issue with trailing backslashes in config path not squiggled …
Colengms May 1, 2019
0cffa4e
Dev/waan/fix test run (#3581)
sean-mcmanus May 6, 2019
4e2f1b8
update release notes for 5-2019 (#3592)
michelleangela May 7, 2019
4e20f27
Seanmcm/0 23 0 changelog (#3593)
sean-mcmanus May 7, 2019
d4cdfe6
Merge branch 'release' into seanmcm/0_23_0_release
sean-mcmanus May 7, 2019
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# ignore cache files for sample projects
.vscode/ipch
browse*.db*
*.obj
*.pdb
*.exe
*.ilk
19 changes: 19 additions & 0 deletions Code Samples/BoxConsoleSample/Objects/box.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
#ifndef BOX_H
#define BOX_H

/**
* Definition of a box object with three dimensions.
*/
struct box
{
int length;
int width;
int height;

int volume()
{
return length * width * height;
}
};

#endif
24 changes: 24 additions & 0 deletions Code Samples/BoxConsoleSample/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# Box Sample
This sample is a simple C++ program that computes and outputs the volume of a box.

We use this example in our blog posts to illustrate new extension features.

## Build and Debug Active File
Available as of March 2019, "Build and Debug Active File" automatically configures the build tasks and kicks off a build and debug session. There are
three ways to get started with this feature.

### Command
While editing a file in your workspace folder, you can open the command palette and select the `C/C++: Build and Debug Active File` command.
This option will generate a tasks.json file for you, build your active source file, and then launch the debugger.

![Open command palette and select Build and Debug Active File](build_debug_command.png)

### Context Menu
While editing a file in a workspace folder, you can right click in the editor field and select the "Build and Debug Active File" context menu option.
This option will generate a tasks.json file for you, build your active source file, and then launch the debugger.

![Right click and select Build and Debug Active File](build_debug_context_menu.png)

### F5
Another way to begin building and debugging your active file is to execute the command by pressing <kbd>F5</kbd>. This method will configure
both a tasks.json and launch.json file for you, build your active source file, and then launch the debugger.
16 changes: 16 additions & 0 deletions Code Samples/BoxConsoleSample/box_sample.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
#include <iostream>
#include "Objects/box.h"

using namespace std;

/**
* Calculate and print the volume of a box.
*/
int main()
{
box package{ 10, 10, 10 };
cout << "Package length: " << package.length << endl;
cout << "Package width: " << package.width << endl;
cout << "Package height: " << package.height << endl;
cout << "Package volume: " << package.volume() << endl;
}
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 0 additions & 2 deletions Code Samples/SampleClangProject/.gitignore

This file was deleted.

17 changes: 0 additions & 17 deletions Code Samples/SampleClangProject/.vscode/launch.json

This file was deleted.

19 changes: 0 additions & 19 deletions Code Samples/SampleClangProject/.vscode/tasks.json

This file was deleted.

10 changes: 0 additions & 10 deletions Code Samples/SampleClangProject/README.md

This file was deleted.

17 changes: 0 additions & 17 deletions Code Samples/SampleClangProject/main.cpp

This file was deleted.

3 changes: 2 additions & 1 deletion Documentation/Building the Extension.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,8 @@
These steps will allow you to debug the TypeScript code that is part of the Microsoft CppTools extension for Visual Studio Code.

Prerequisite steps:
* Clone [this](https://github.com/Microsoft/vscode-cpptools) repository.
* Clone the release branch of [this](https://github.com/Microsoft/vscode-cpptools) repository.
* git clone -b release https://github.com/Microsoft/vscode-cpptools
* Install [npm](https://nodejs.org).
* From a command line, run the following commands from the **Extension** folder in the root of the repository:
* `npm install` will install the dependencies needed to build the extension.
Expand Down
20 changes: 20 additions & 0 deletions Documentation/FAQs.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@

## Table of Contents
* Setup: [Debugging Setup](#debugging-setup)
* Setup: [What is the .vscode/ipch folder?](#what-is-the-vscodeipch-folder)
* Setup: [How do I disable the IntelliSense cache (ipch)?](#how-do-i-disable-the-intellisense-cache-ipch)
* Debugger: [Why is debugging not working?](#why-is-debugging-not-working)
* Build: [How to enable debug symbols](#how-to-enable-debug-symbols)
* Logging: [How to enable logging](#how-to-enable-logging)
Expand All @@ -15,6 +17,24 @@ The file **launch.json** will now be open for editing with a new configuration.

See the [**Documentation/Debugger**](https://github.com/Microsoft/vscode-cpptools/tree/master/Documentation/Debugger) folder in this repository for more in-depth documentation on how to configure the debugger.

## What is the .vscode/ipch folder?

The language server caches information about included header files to improve the performance of IntelliSense. When you edit C/C++ files in your workspace folder, the language server will store cache files in the `.vscode/ipch` folder by default. VS Code per-workspace storage folders were not selected for the following reasons:
* The workspace storage location provided by VS Code is somewhat obscure and we had reservations about writing GB's worth of files in this location where users may not see them or know where to find them.
* Parity with Visual Studio. This is how Visual Studio works and they receive little to no feedback/complaints on the location.

With this in mind we knew that we wouldn't be able to please everyone, so we provided settings to allow you to customize this the way that works best for your situation. We also figured that putting the files in the workspace folder would bring the issue to your attention quickly so that you can take action if you don't like the default behavior.

#### `"C_Cpp.intelliSenseCachePath": <string>`
This setting allows you to set workspace or global overrides for the cache path. For example, if you want to share a single cache location for all workspace folders, you just open the VS Code settings, and add a "User" setting for "IntelliSense Cache Path".

#### `"C_Cpp.intelliSenseCacheSize": <number>`
This setting allows you to set a limit on the amount of caching the extension does. This is an approximation, but the extension will make a best effort to keep the cache size as close to the limit you set as possible. If you are sharing the cache location across workspaces as explained above, you can still increase/decrease the limit, but you should make sure that you add a "User" setting for "IntelliSense Cache Size".

## How do I disable the IntelliSense cache (ipch)?

If you do not want to use the IntelliSense caching feature to improve the performance of IntelliSense, you can disable the feature by setting the "IntelliSense Cache Size" setting to 0. (or `"C_Cpp.intelliSenseCacheSize": 0"` in the JSON settings editor)

## Why is debugging not working?

### My breakpoints aren't being hit
Expand Down
2 changes: 1 addition & 1 deletion Documentation/LanguageServer/FAQ.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ If you want IntelliSense to operate on your files even when all #include directi
The most common reason for this is missing include paths and defines. The easiest way to fix this on each platform is as follows:

**Linux/Mac**
* Set `"intelliSenseMode": "clang-x64"` and `"compilerPath"` in **c_cpp_properties.json** to the path to your compiler.
* Set `"intelliSenseMode": "clang-x64"` or `"intelliSenseMode": "gcc-x64"` and `"compilerPath"` in **c_cpp_properties.json** to the path to your compiler.

**Windows**
* If you are using a Microsoft compiler from Visual Studio, set `"intelliSenseMode": "msvc-x64"`, but don't add the `"compilerPath"` property to **c_cpp_properties.json**.
Expand Down
2 changes: 1 addition & 1 deletion Extension/.gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ node_modules

# ignore compliled typescript
out
dist

# ignore downloaded extension files and folders
server
Expand All @@ -18,4 +19,3 @@ install.lock

# ignore vscode test
.vscode-test/
browse*db*
9 changes: 5 additions & 4 deletions Extension/.vscode/launch.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,9 @@
"stopOnEntry": false,
"sourceMaps": true,
"outFiles": [
"${workspaceFolder}/out/**/*.js"
"${workspaceFolder}/dist/**/*.js"
],
"preLaunchTask": "TypeScript Compile",
"preLaunchTask": "Compile Dev",
},
{
"name": "Launch Tests",
Expand Down Expand Up @@ -47,13 +47,14 @@
"args": [
"${workspaceFolder}/test/integrationTests/testAssets/SimpleCppProject",
"--extensionDevelopmentPath=${workspaceFolder}",
"--extensionTestsPath=${workspaceFolder}/out/test/integrationTests"
"--extensionTestsPath=${workspaceFolder}/out/test/integrationTests/languageServer"
],
"stopOnEntry": false,
"sourceMaps": true,
"outFiles": [
"${workspaceFolder}/out/test/**/*.js"
]
],
"preLaunchTask": "Pretest"
},
]
}
30 changes: 30 additions & 0 deletions Extension/.vscode/tasks.json
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,36 @@
"dependsOn": [
"TypeScript Compile"
]
},
{
"label": "Compile Dev",
"group": "build",
"isBackground": false,
"type": "shell",
"command": "npm",
"args": [
"run",
"compileDev"
],
"dependsOn": [
"TypeScript Compile"
],
"problemMatcher": "$tsc-watch"
},
{
"label": "Pretest",
"group": "build",
"isBackground": false,
"type": "shell",
"command": "npm",
"args": [
"run",
"pretest"
],
"dependsOn": [
"TypeScript Compile"
],
"problemMatcher": "$tsc-watch"
}
]
}
38 changes: 29 additions & 9 deletions Extension/.vscodeignore
Original file line number Diff line number Diff line change
@@ -1,15 +1,35 @@
obj/**

# ignore vscode settings for extension development
.vscode/**
typings/**
out/test/**

# ignore binaries
obj/**

# ignore source files
tools/**
notices/**
test/**
src/**
**/*.map
.gitignore

# ignore .js files that are webpacked or only used for development
out/src/**
out/tools/**

# ignore ts files in ui
ui/*.ts

# ignore Azure-Pipelines files
jobs/**

# ignore development files
tsconfig.json
tslint.json
webpack.config.js
README.md
gulpfile.js
.gitattributes
.gitignore
CMakeLists.txt
debugAdapters/install.lock*
out/src/Debugger/copyScript.js
tools/**
out/tools/**
notices/**
typings/**
**/*.map
57 changes: 57 additions & 0 deletions Extension/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,62 @@
# C/C++ for Visual Studio Code Change Log

## Version 0.23.0: May 6, 2019
### New Features
* Add a configuration UI editor to edit IntelliSense settings defined in the underlying `c_cpp_properties.json` file. [PR #3479](https://github.com/Microsoft/vscode-cpptools/pull/3479), [PR #3487](https://github.com/Microsoft/vscode-cpptools/pull/3487), [PR #3519](https://github.com/Microsoft/vscode-cpptools/pull/3519), [#3524](https://github.com/Microsoft/vscode-cpptools/issues/3524), [PR #3563](https://github.com/Microsoft/vscode-cpptools/pull/3563), [#3526](https://github.com/Microsoft/vscode-cpptools/issues/3526)
* Add a new command `C/C++: Edit configurations (UI)` to open the UI editor.
* Replace the `C/C++: Edit configurations...` command with `C/C++: Edit configurations (JSON)` to open `c_cpp_properties.json`.
* The default whether to open the UI editor or JSON file is based on the `workbench.settings.editor` setting.
* Add command `C/C++: Log Diagnostics` to log language service diagnostics. [PR #3489](https://github.com/Microsoft/vscode-cpptools/pull/3489)
* Add support for `.env` files for `cppvsdbg`. [#3490](https://github.com/Microsoft/vscode-cpptools/issues/3490)

### Other Changes
* Enable flag `/permissive-` as an argument to `compilerPath` with `cl.exe`. [#1589](https://github.com/Microsoft/vscode-cpptools/issues/1589), [#3446](https://github.com/Microsoft/vscode-cpptools/issues/3446)
* Configuration squiggles for `c_cpp_properties.json` now validates if the setting values of `compilerPath` and `intelliSenseMode` match on Windows. [#2983](https://github.com/Microsoft/vscode-cpptools/issues/2983)
* Enable `-fms-extensions` to be used as an argument to `compilerPath` on Linux/Mac. [#3063](https://github.com/Microsoft/vscode-cpptools/issues/3063)
* Change the default value of `C_Cpp.intelliSenseEngineFallback` setting to `Disabled`. [#3165](https://github.com/Microsoft/vscode-cpptools/issues/3165)
* Add squiggle when `compilerPath` uses spaces and arguments without `"`. [#3357](https://github.com/Microsoft/vscode-cpptools/issues/3357)
* Change the `Disabled` value for `C_Cpp.errorSquiggles` to stop showing missing header squiggles. [#3361](https://github.com/Microsoft/vscode-cpptools/issues/3361)
* Add `enableConfigurationSquiggles` setting to allow squiggles to be disabled for `c_cpp_properties.json`. [#3403](https://github.com/Microsoft/vscode-cpptools/issues/3403)
* Switch to using the `installExtension` command for offline/insider vsix installing (to reduce install failures). [#3408](https://github.com/Microsoft/vscode-cpptools/issues/3408)
* Add a better example to the description of `C_Cpp.clang_format_style` and `C_Cpp.clang_format_fallback_style`. [#3419](https://github.com/Microsoft/vscode-cpptools/issues/3419)
* Add a new (default) value of `EnabledIfIncludesResolve` to `C_Cpp.errorSquiggles`, which only shows error squiggles if include headers are successfully resolved. [PR #3421](https://github.com/Microsoft/vscode-cpptools/pull/3421)
* Disable debug heap by default with cppvsdbg. [#3484](https://github.com/Microsoft/vscode-cpptools/issues/3484)
* Reported by Djoulihen (@Djoulihen)
* Enable configuration squiggles for paths delimited by semicolons. [PR #3517](https://github.com/Microsoft/vscode-cpptools/pull/3517)
* Don't show release notes if the extension has never been installed before. [#3533](https://github.com/Microsoft/vscode-cpptools/issues/3533)
* Remove IntelliSense fallback code actions.

### Bug Fixes
* Fix browsing for functions with BOOST_FOREACH. [#953](https://github.com/Microsoft/vscode-cpptools/issues/953)
* Work around issue with VS Code not treating `.C` files as C++ files [Microsoft/vscode#59369](https://github.com/Microsoft/vscode/issues/59369) -- `.C` files become associated by name in `files.associations`. [#2558](https://github.com/Microsoft/vscode-cpptools/issues/2558)
* Fix various IntelliSense parsing bugs. [#2824](https://github.com/Microsoft/vscode-cpptools/issues/2824), [#3110](https://github.com/Microsoft/vscode-cpptools/issues/3110), [#3168](https://github.com/Microsoft/vscode-cpptools/issues/3168)
* Preserve newlines in documentation comments. [#2937](https://github.com/Microsoft/vscode-cpptools/issues/2937)
* Fix documentation comments above multi-line templates (and some other issues). [#3162](https://github.com/Microsoft/vscode-cpptools/issues/3162)
* Fix "Extension causes high cpu load" due to module loading. [#3213](https://github.com/Microsoft/vscode-cpptools/issues/3213)
* Fix auto-removal of compiler-provided paths in `includePath` when they end with a directory separator on Windows. [#3245](https://github.com/Microsoft/vscode-cpptools/issues/3245)
* Fix duplicate compiler build tasks appearing when `compilerPath` has arguments. [PR #3360](https://github.com/Microsoft/vscode-cpptools/pull/3360)
* Fix environment variables not resolving with `C_Cpp.intelliSenseCachePath`. [#3367](https://github.com/Microsoft/vscode-cpptools/issues/3367)
* Fix the formatting of snippets text. [#3376](https://github.com/Microsoft/vscode-cpptools/issues/3376)
* Fix the default `AccessModifierOffset` used when formatting. [#3376](https://github.com/Microsoft/vscode-cpptools/issues/3376)
* Fix null reference during initialization when using custom configuration providers. [PR #3377](https://github.com/Microsoft/vscode-cpptools/pull/3377)
* Fix symbol parsing when `__MINGW_ATTRIB_*` is used. [#3390](https://github.com/Microsoft/vscode-cpptools/issues/3390)
* Fix `compile_commands.json` configuration prompt being disabled per user instead of per folder. [PR #3399](https://github.com/Microsoft/vscode-cpptools/pull/3399)
* Fix `.cmd` and `.bat` files not working for `compilerPath` on Windows. [#3428](https://github.com/Microsoft/vscode-cpptools/issues/3428)
* Fix `compilerPath` with arguments that are surrounded by quotes. [#3428](https://github.com/Microsoft/vscode-cpptools/issues/3428)
* Fix documentation comments interpreting special characters as markdown. [#3441](https://github.com/Microsoft/vscode-cpptools/issues/3441)
* Fix hover using the configuration of the active document instead of the hovered document. [#3452](https://github.com/Microsoft/vscode-cpptools/issues/3452)
* Fix `c_cpp_properties.json` squiggles when the configuration name has regex characters. [PR #3478](https://github.com/Microsoft/vscode-cpptools/pull/3478)
* Use the `editor.tabSize` setting instead of `2` when creating build tasks. [PR #3486](https://github.com/Microsoft/vscode-cpptools/pull/3486)
* Fix some potential crashes on hover. [#3509](https://github.com/Microsoft/vscode-cpptools/issues/3509)
* Fix for `NullReferenceException` occurring when `"args"` is not specified in `launch.json`. [#3532](https://github.com/Microsoft/vscode-cpptools/issues/3532)
* Fix `Go to Definition` giving no results when IntelliSense doesn't find the symbol. [#3549](https://github.com/Microsoft/vscode-cpptools/issues/3549)
* Fix configuration squiggles with trailing backslashes. [PR #3573](https://github.com/Microsoft/vscode-cpptools/pull/3573)
* Fix `includePath` code actions, configuration prompts, and the `C/C++: Change configuration provider...` command. [PR #3576](https://github.com/Microsoft/vscode-cpptools/pull/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.

## Version 0.22.1: March 21, 2019
* Fix `tasks.json` with single-line comments being overwritten when `Build and Debug Active File` is used. [#3327](https://github.com/Microsoft/vscode-cpptools/issues/3327)
* Fix an invalid `compilerPath` property getting added to `tasks.json` after doing `Configure Task` with a C/C++ compiler.
Expand Down
Loading