Skip to content

Commit 717de54

Browse files
authored
Merge pull request #3321 from Microsoft/0_22_0_release
0 22 0 release
2 parents da277c8 + 51cd214 commit 717de54

37 files changed

+2819
-3061
lines changed

.github/ISSUE_TEMPLATE/language-service.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,6 @@ about: 'Issues pertaining to IntelliSense, autocomplete, code editing, etc. '
3434

3535
**Additional context**
3636
<!--
37-
*Call Stacks: For bugs like crashes, deadlocks, infinite loops, etc. that we are not able to repro and for which the call stack may be useful, please attach a debugger and/or create a dmp and provide the call stacks. Starting with 0.17.3, Windows binaries have symbols available in VS Code by setting your "symbolSearchPath" to "http://msdl.microsoft.com/download/symbols".*
38-
Add any other context about the problem here including log messages in your Output window ("C_Cpp.loggingLevel": "Debug" in settings.json).
37+
* Call Stacks: For bugs like crashes, deadlocks, infinite loops, etc. that we are not able to repro and for which the call stack may be useful, please attach a debugger and/or create a dmp and provide the call stacks. Windows binaries have symbols available in VS Code by setting your "symbolSearchPath" to "https://msdl.microsoft.com/download/symbols".
38+
* Add any other context about the problem here including log messages in your Output window ("C_Cpp.loggingLevel": "Debug" in settings.json).
3939
-->

.travis.yml

-43
This file was deleted.

Extension/CHANGELOG.md

+37-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,42 @@
11
# C/C++ for Visual Studio Code Change Log
22

3-
## Version 0.21.0 January 23, 2019
3+
## Version 0.22.0: March 19, 2019
4+
### Major Changes
5+
* Add warning squiggles for invalid properties and paths in `c_cpp_properties.json`. [#2799](https://github.com/Microsoft/vscode-cpptools/issues/2799), [PR #3283](https://github.com/Microsoft/vscode-cpptools/pull/3283)
6+
* Add C/C++ compiler build tasks for compiling the active source file, with support for `F5` debugging and the `Build and Debug Active File` context menu command. [PR #3118](https://github.com/Microsoft/vscode-cpptools/pull/3118), [PR #3244](https://github.com/Microsoft/vscode-cpptools/pull/3244)
7+
* Add AutoPCH support to reduce IntelliSense parsing time, with `C_Cpp.intelliSenseCachePath` and `C_Cpp.intelliSenseCacheSize` settings. It isn't enabled for Mac yet. [PR #3184](https://github.com/Microsoft/vscode-cpptools/pull/3184)
8+
9+
### Minor Changes
10+
* Fix IntelliSense not working on Windows when the username has a space in it and file `C:\Users\<firstname>` exists. [#1377](https://github.com/Microsoft/vscode-cpptools/issues/1377), [#2114](https://github.com/Microsoft/vscode-cpptools/issues/2114), [#2176](https://github.com/Microsoft/vscode-cpptools/issues/2176), [#3052](https://github.com/Microsoft/vscode-cpptools/issues/3052), [#3139](https://github.com/Microsoft/vscode-cpptools/issues/3139)
11+
* Enable `${command:cpptools.activeConfigName}` in tasks. [#1524](https://github.com/Microsoft/vscode-cpptools/issues/1524)
12+
* Fix bugs with squiggles and IntelliSense updating after edits. [#1779](https://github.com/Microsoft/vscode-cpptools/issues/1779), [#3124](https://github.com/Microsoft/vscode-cpptools/issues/3124), [#3260](https://github.com/Microsoft/vscode-cpptools/issues/3260)
13+
* Fix formatting (and other non-IntelliSense operations) being blocked by IntelliSense processing. [#1928](https://github.com/Microsoft/vscode-cpptools/issues/1928)
14+
* Fix completion when the start of an identifier matches a keyword. [#1986](https://github.com/Microsoft/vscode-cpptools/issues/1986)
15+
* Fix auto-removal of compiler-provided paths in `includePath`. [#2177](https://github.com/Microsoft/vscode-cpptools/issues/2177)
16+
* Fix crash on Windows when 8.3 filenames are used. [#2453](https://github.com/Microsoft/vscode-cpptools/issues/2453), [#3104](https://github.com/Microsoft/vscode-cpptools/issues/3104)
17+
* Add support for `Scope::Member` scoped symbol searches. [#2484](https://github.com/Microsoft/vscode-cpptools/issues/2484)
18+
* Fix signature help active parameter selection when parameter names are missing or subsets of each other. [#2952](https://github.com/Microsoft/vscode-cpptools/issues/2952)
19+
* Fix `--enable-pretty-printing` with `gdb` when complex objects are used as keys in maps. [#3024](https://github.com/Microsoft/vscode-cpptools/issues/3024)
20+
* Fix IntelliSense-based `Go to Definition` for `noexcept` methods. [#3060](https://github.com/Microsoft/vscode-cpptools/issues/3060)
21+
* Render macro hover expansions as C/C++. [#3075](https://github.com/Microsoft/vscode-cpptools/issues/3075)
22+
* Enable completion after `struct` when manually invoked. [#3080](https://github.com/Microsoft/vscode-cpptools/issues/3080)
23+
* Add `C_Cpp.suggestSnippets` setting to disable language server snippets. [#3083](https://github.com/Microsoft/vscode-cpptools/issues/3083)
24+
* Show a prompt for changing `C_Cpp.updateChannel` to `Insiders`. [#3089](https://github.com/Microsoft/vscode-cpptools/issues/3089)
25+
* lh123 (@lh123) [PR #3221](https://github.com/Microsoft/vscode-cpptools/pull/3221)
26+
* Fix `compilerPath` not getting priority over the `compile_commands.json` compiler. [#3102](https://github.com/Microsoft/vscode-cpptools/issues/3102)
27+
* Fix Linux `compile_commands.json` compiler querying with relative paths. [#3112](https://github.com/Microsoft/vscode-cpptools/issues/3112)
28+
* Allow `*` in `includePath` to apply to `browse.path` when `browse.path` is not specified. [#3121](https://github.com/Microsoft/vscode-cpptools/issues/3121)
29+
* Tucker Kern (@mill1000) [PR #3122](https://github.com/Microsoft/vscode-cpptools/pull/3122)
30+
* Disable `(` and `<` completion commit characters. [#3127](https://github.com/Microsoft/vscode-cpptools/issues/3127)
31+
* Add Chinese translations for command titles. [PR #3128](https://github.com/Microsoft/vscode-cpptools/pull/3128)
32+
* Fix remote process picker bug. [#2585](https://github.com/Microsoft/vscode-cpptools/issues/2585), [#3150](https://github.com/Microsoft/vscode-cpptools/issues/3150)
33+
* Fix command not found and empty `c_cpp_properties.json` if activation is too slow. [#3160](https://github.com/Microsoft/vscode-cpptools/issues/3160), [#3176](https://github.com/Microsoft/vscode-cpptools/issues/3176)
34+
* Fix `cppvsdbg` debugger showing `"An unspecified error has occurred."` for structured binding variables. [#3197](https://github.com/Microsoft/vscode-cpptools/issues/3197)
35+
* Fix bugs with the Insider reload prompt appearing when it shouldn't. [#3206](https://github.com/Microsoft/vscode-cpptools/issues/3206)
36+
* Fix variable expansion (e.g. `${env.HOME}`) not working when `${default}` is used in `c_cpp_properties.json`. [#3309](https://github.com/Microsoft/vscode-cpptools/issues/3309)
37+
* Fix other unreported IntelliSense engine bugs.
38+
39+
## Version 0.21.0: January 23, 2019
440
### New Features
541
* Add documentation comments for hover, completion, and signature help. [#399](https://github.com/Microsoft/vscode-cpptools/issues/399)
642
* Add completion committing for methods after `(`. [#1184](https://github.com/Microsoft/vscode-cpptools/issues/1184)

Extension/README.md

+8-1
Original file line numberDiff line numberDiff line change
@@ -23,5 +23,12 @@ This preview release of the extension adds language support for C/C++ to Visual
2323

2424
You can find more detailed information about C/C++ support for Visual Studio Code at our [GitHub page](https://github.com/Microsoft/vscode-cpptools/tree/master/Documentation) and our [VS Code documentation page](https://code.visualstudio.com/docs/languages/cpp).
2525

26+
## Installation
27+
The extension has OS-specific binary dependencies, so installation via the Marketplace requires an Internet connection so that these additional dependencies can be downloaded. If you are working on a computer that does not have access to the Internet or is behind a strict firewall, you may need to use our OS-specific packages and install them by invoking VS Code's `"Install from VSIX..."` command. These "offline' packages are available at: https://github.com/Microsoft/vscode-cpptools/releases.
28+
* `cpptools-linux.vsix` - for 64-bit Linux
29+
* `cpptools-linux32.vsix` - for 32-bit Linux
30+
* `cpptools-osx.vsix` - for macOS
31+
* `cpptools-win32.vsix` - for 64-bit & 32-bit Windows
32+
2633
## Contact Us
27-
If you run into any issues or have suggestions for us, please file [issues and suggestions on GitHub](https://github.com/Microsoft/vscode-cpptools/issues). If you haven’t already provided us feedback, please take this [quick survey](https://www.research.net/r/VBVV6C6) to help shape this extension for your needs.
34+
If you run into any issues or have suggestions for us, please file [issues and suggestions on GitHub](https://github.com/Microsoft/vscode-cpptools/issues). If you haven’t already provided us feedback, please take this [quick survey](https://www.research.net/r/VBVV6C6) and let us know what you think!

Extension/ReleaseNotes.html

+20-6
Original file line numberDiff line numberDiff line change
@@ -205,8 +205,23 @@ <h1>Microsoft C/C++ Extension for VS Code</h1>
205205
<tr>
206206
<td>
207207
<div>
208-
<h2 class="caption">January 2019 Update</h2>
209-
<div>Thank you for installing the C/C++ extension. In the January update, we added documentation comments for hover, completion, and signature help.<br/>
208+
<h2 class="caption">March 2019 Update</h2>
209+
<div>Thank you for installing the C/C++ extension! We're excited to announce the following features in the March update:<br/>
210+
<h3 style="font-weight: 600">IntelliSense caching</h3>
211+
On Windows and Linux, the extension will now cache header information to improve IntelliSense speed for your code files. Support for macOS will be available in a future release.<br/>
212+
<br/>
213+
<em style="font-weight: 600">Please Note:</em> The extension writes the cache to disk in order to achieve this performance improvement. By default the cache files will be stored in your workspace
214+
folder's ".vscode" folder, but you can change this location by using the <code>"C_Cpp.intelliSenseCachePath"</code> setting. You can also control how much disk space can be
215+
used for the cache with the <code>"C_Cpp.intelliSenseCacheSize"</code> setting. The default is 5120 MB as the caches for individual translation units can be large,
216+
depending on the size and number of included headers.<br/>
217+
<h3 style="font-weight: 600">Build and debug the active source file</h3>
218+
We added a command to help you generate build and debug tasks for single code files. Since this feature writes out tasks.json and launch.json files, it currently requires
219+
that a workspace folder be opened in VS Code first. After that, you can press F5 or select the command from the context menu to configure the tasks or kick off a build and debug
220+
session.<br/>
221+
<h3 style="font-weight: 600">Configuration squiggles</h3>
222+
We added additional validation to the <code>c_cpp_properties.json</code> file to assist in diagnosing potential configuration mistakes. They will show up as problems in the
223+
problems window.<br/>
224+
<br/>
210225
<br/>
211226
Additional features and bug fixes are detailed in the <a href="https://github.com/Microsoft/vscode-cpptools/releases">full release notes</a>.</div>
212227
</div>
@@ -231,10 +246,9 @@ <h3 class="caption">Getting Started</h3>
231246
<td>
232247
<div>
233248
<h3 class="caption">Blog Posts</h3>
234-
<div><a href="https://blogs.msdn.microsoft.com/vcblog/2018/12/05/visual-studio-code-cpp-extension-october-2018-update-and-a-simplified-insiders-program/">October 2018 Update</a></div>
235-
<div><a href="https://blogs.msdn.microsoft.com/vcblog/2018/08/23/visual-studio-code-c-c-extension-august-2018-update/">August 2018 Update</a></div>
236-
<div><a href="https://blogs.msdn.microsoft.com/vcblog/2018/07/25/visual-studio-code-cc-extension-july-2018-update-and-intellisense-auto-configuration-for-cmake/">July 2018 Update</a></div>
237-
<div><a href="https://blogs.msdn.microsoft.com/vcblog/2016/03/31/cc-extension-for-visual-studio-code/">C/C++ Extension anouncement</a></div>
249+
<div><a href="https://devblogs.microsoft.com/cppblog/vs-code-cpp-extension-january-2019-update/">January 2019 Update</a></div>
250+
<div><a href="https://devblogs.microsoft.com/cppblog/visual-studio-code-cpp-extension-october-2018-update-and-a-simplified-insiders-program/">October 2018 Update</a></div>
251+
<div><a href="https://devblogs.microsoft.com/cppblog/visual-studio-code-c-c-extension-august-2018-update/">August 2018 Update</a></div>
238252
</div>
239253
</td>
240254
</tr>

Extension/c_cpp_properties.schema.json

+6-3
Original file line numberDiff line numberDiff line change
@@ -112,9 +112,11 @@
112112
"type": "string"
113113
}
114114
}
115-
}
115+
},
116+
"additionalProperties": false
116117
}
117-
}
118+
},
119+
"additionalProperties": false
118120
}
119121
},
120122
"env": {
@@ -156,5 +158,6 @@
156158
"required": [
157159
"configurations",
158160
"version"
159-
]
161+
],
162+
"additionalProperties": false
160163
}

Extension/jobs/build.windows.yml

+58
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
parameters:
2+
name: ''
3+
pool: ''
4+
5+
jobs:
6+
- job: Windows
7+
pool:
8+
vmImage: 'vs2017-win2016'
9+
10+
steps:
11+
- task: NodeTool@0
12+
displayName: 'Use Node 8.x'
13+
inputs:
14+
versionSpec: 8.x
15+
16+
- script: npm install
17+
displayName: "Install Dependencies"
18+
workingDirectory: '$(Build.SourcesDirectory)\Extension'
19+
20+
- script: npm run compile
21+
displayName: "Compile Sources"
22+
workingDirectory: '$(Build.SourcesDirectory)\Extension'
23+
24+
- script: npm run pr-check
25+
displayName: 'Validate Extension/package.json'
26+
workingDirectory: '$(Build.SourcesDirectory)\Extension'
27+
28+
- script: npm run tslint
29+
displayName: 'Run Linter'
30+
workingDirectory: '$(Build.SourcesDirectory)\Extension'
31+
32+
- script: 'npm run unitTests'
33+
displayName: 'Run unit tests'
34+
workingDirectory: '$(Build.SourcesDirectory)\Extension'
35+
continueOnError: true
36+
37+
- script: 'copy "$(Build.SourcesDirectory)\Extension\out\test\integrationTests\MockDebugger\debugAdapterDescriptorFactory.js" "$(Build.SourcesDirectory)\Extension\out\src\Debugger\debugAdapterDescriptorFactory.js" /Y'
38+
displayName: Replace Debug Adapter Descriptor Factory
39+
40+
- script: 'node node_modules/vscode/bin/test'
41+
displayName: 'Run debug integration tests'
42+
workingDirectory: '$(Build.SourcesDirectory)\Extension'
43+
continueOnError: true
44+
env:
45+
CODE_TESTS_PATH: '$(Build.SourcesDirectory)\Extension\out\test\integrationTests\debug'
46+
CODE_EXTENSIONS_PATH: '$(Build.SourcesDirectory)\Extension'
47+
CODE_TESTS_WORKSPACE: '$(Build.SourcesDirectory)\Extension\test\integrationTests\testAssets\SimpleCppProject'
48+
CODE_DISABLE_EXTENSIONS: 1
49+
50+
- script: 'node node_modules/vscode/bin/test'
51+
displayName: 'Run languageServer integration tests'
52+
workingDirectory: '$(Build.SourcesDirectory)\Extension'
53+
continueOnError: true
54+
env:
55+
CODE_TESTS_PATH: '$(Build.SourcesDirectory)\Extension\out\test\integrationTests\languageServer'
56+
CODE_EXTENSIONS_PATH: '$(Build.SourcesDirectory)\Extension'
57+
CODE_TESTS_WORKSPACE: '$(Build.SourcesDirectory)\Extension\test\integrationTests\testAssets\SimpleCppProject'
58+
CODE_DISABLE_EXTENSIONS: 1

Extension/jobs/build.yml

+67
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
parameters:
2+
name: ''
3+
pool: ''
4+
5+
jobs:
6+
- job: ${{ parameters.name }}
7+
pool: ${{ parameters.pool }}
8+
9+
steps:
10+
- task: NodeTool@0
11+
displayName: 'Use Node 8.x'
12+
inputs:
13+
versionSpec: 8.x
14+
15+
- script: npm install
16+
displayName: "Install Dependencies"
17+
workingDirectory: '$(Build.SourcesDirectory)/Extension'
18+
19+
- script: npm run compile
20+
displayName: "Compile Sources"
21+
workingDirectory: '$(Build.SourcesDirectory)/Extension'
22+
23+
- script: npm run pr-check
24+
displayName: 'Validate Extension/package.json'
25+
workingDirectory: '$(Build.SourcesDirectory)/Extension'
26+
27+
- script: npm run tslint
28+
displayName: 'Run Linter'
29+
workingDirectory: '$(Build.SourcesDirectory)/Extension'
30+
31+
- script: 'npm run unitTests'
32+
displayName: 'Run unit tests'
33+
workingDirectory: '$(Build.SourcesDirectory)/Extension'
34+
continueOnError: true
35+
36+
- script: |
37+
set -e
38+
/usr/bin/Xvfb :10 -ac >> /tmp/Xvfb.out 2>&1 &
39+
disown -ar
40+
displayName: 'Start xvfb'
41+
42+
- script: |
43+
cp $(Build.SourcesDirectory)/Extension/out/test/integrationTests/MockDebugger/debugAdapterDescriptorFactory.js $(Build.SourcesDirectory)/Extension/out/src/Debugger/debugAdapterDescriptorFactory.js
44+
displayName: Replace Debug Adapter Descriptor Factory
45+
46+
- script: 'node node_modules/vscode/bin/test'
47+
displayName: 'Run debug integration tests'
48+
workingDirectory: '$(Build.SourcesDirectory)/Extension'
49+
continueOnError: true
50+
env:
51+
MOCK_DEBUG: 1
52+
DISPLAY: :10
53+
CODE_TESTS_PATH: '$(Build.SourcesDirectory)/Extension/out/test/integrationTests/debug'
54+
CODE_EXTENSIONS_PATH: '$(Build.SourcesDirectory)/Extension'
55+
CODE_TESTS_WORKSPACE: '$(Build.SourcesDirectory)/Extension/test/integrationTests/testAssets/SimpleCppProject'
56+
CODE_DISABLE_EXTENSIONS: 1
57+
58+
- script: 'node node_modules/vscode/bin/test'
59+
displayName: 'Run languageServer integration tests'
60+
workingDirectory: '$(Build.SourcesDirectory)/Extension'
61+
continueOnError: true
62+
env:
63+
DISPLAY: :10
64+
CODE_TESTS_PATH: '$(Build.SourcesDirectory)/Extension/out/test/integrationTests/languageServer'
65+
CODE_EXTENSIONS_PATH: '$(Build.SourcesDirectory)/Extension'
66+
CODE_TESTS_WORKSPACE: '$(Build.SourcesDirectory)/Extension/test/integrationTests/testAssets/SimpleCppProject'
67+
CODE_DISABLE_EXTENSIONS: 1

0 commit comments

Comments
 (0)