Skip to content

Commit f7d0b1b

Browse files
authored
Merge pull request #8187 from microsoft/main
2 parents eede665 + 979d86f commit f7d0b1b

File tree

81 files changed

+2656
-2146
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

81 files changed

+2656
-2146
lines changed

.github/actions/package-lock.json

Lines changed: 7 additions & 7 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.github/actions/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
"dependencies": {
1313
"@actions/core": "^1.2.6",
1414
"@actions/github": "^2.1.1",
15-
"axios": "^0.21.1"
15+
"axios": "^0.21.4"
1616
},
1717
"devDependencies": {
1818
"eslint": "^6.8.0",

Extension/CHANGELOG.md

Lines changed: 38 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,44 @@
11
# C/C++ for Visual Studio Code Change Log
22

3-
## Version 1.6.0-insiders3: August 18, 2021
4-
### Bug Fixes
5-
* Fix insiders update install loop for remote scenarios. [#8000](https://github.com/microsoft/vscode-cpptools/issues/8000)
3+
## Version 1.7.0-insiders: September 27, 2021
4+
### New Features
5+
* Add a command to restart IntelliSense for a specific file. [#3727](https://github.com/microsoft/vscode-cpptools/issues/3727)
6+
* Add support for macOS app bundles [#6726](https://github.com/microsoft/vscode-cpptools/issues/6726)
7+
* [MIEngine#1091](https://github.com/microsoft/MIEngine/pull/1091)
8+
* Add support for Go To / Peek Type Definition. [#7999](https://github.com/microsoft/vscode-cpptools/issues/7999)
69

7-
## Version 1.6.0-insiders2: August 17, 2021
8-
### Bug Fixes
9-
* Fix issues with overlapping code folding ranges. [#7809](https://github.com/microsoft/vscode-cpptools/issues/7809)
10-
* Fix an issue with cppdbg debugging on Windows x64. [#7971](https://github.com/microsoft/vscode-cpptools/issues/7971)
11-
* Fix an issue with VS `<execution>` header causing IntelliSense process crash. [#7972](https://github.com/microsoft/vscode-cpptools/issues/7972)
10+
### Enhancements
11+
* In generated build tasks, add a compiler arg to cause color to be displayed in gcc/clang output in terminal. [PR #8165](https://github.com/microsoft/vscode-cpptools/pull/8165)
1212

13-
## Version 1.6.0-insiders: August 12, 2021
14-
### New Feature
13+
### Bug Fixes
14+
* Fix an issue with signature help for overloaded constructors. [#1664](https://github.com/microsoft/vscode-cpptools/issues/1664)
15+
* Add markdown to settings descriptions. [#4544](https://github.com/microsoft/vscode-cpptools/issues/4544)
16+
* Fix an IntelliSense process crash. [#5584](https://github.com/microsoft/vscode-cpptools/issues/5548), [#8110](https://github.com/microsoft/vscode-cpptools/issues/8110)
17+
* Fix an issue with incorrect E0513 and E0167 IntelliSense errors. [#6338](https://github.com/microsoft/vscode-cpptools/issues/6338)
18+
* Fix issue with IntelliSense for anonymous members. [#6412](https://github.com/microsoft/vscode-cpptools/issues/6412)
19+
* Fix an issue with incorrect "no suitable user-defined conversion" errors. [#6721](https://github.com/microsoft/vscode-cpptools/issues/6721)
20+
* Fix some issues with punctuation in setting descriptions. [#6870](https://github.com/microsoft/vscode-cpptools/issues/6870)
21+
* Add descriptions for setting enum values. [#7358](https://github.com/microsoft/vscode-cpptools/issues/7358)
22+
* Add support for `${execPath}` and `${pathSeparator}` in `c_cpp_properties.json`. [#7753](https://github.com/microsoft/vscode-cpptools/issues/7753)
23+
* Move the scope of document symbols from the name (on the left) to the details (on the right). [#7785](https://github.com/microsoft/vscode-cpptools/issues/7785)
24+
* Fix an issue with config validation of Force Include values. [#7822](https://github.com/microsoft/vscode-cpptools/issues/7822)
25+
* Fix an issue related to arg parsing in build tasks. [#7891](https://github.com/microsoft/vscode-cpptools/issues/7891)
26+
* Add a check when cppbuild task is used when the active file is not a source file. [#7892](https://github.com/microsoft/vscode-cpptools/issues/7892)
27+
* Fix a cpptools crash [#8055](https://github.com/microsoft/vscode-cpptools/issues/8055)
28+
* Fix issue "LogPoint stopped working v1.6.0". [#8065](https://github.com/microsoft/vscode-cpptools/issues/8065)
29+
* [MIEngine#1208](https://github.com/microsoft/MIEngine/pull/1208)
30+
* Fix issue "Debugger won't read/write from/to stdio". [#8075](https://github.com/microsoft/vscode-cpptools/issues/8075)
31+
* [MIEngine#1209](https://github.com/microsoft/MIEngine/pull/1209)
32+
* Fix an issue with VC 14.0 headers not being found. [#8078](https://github.com/microsoft/vscode-cpptools/issues/8078)
33+
* Fix an issue with CUDA support with `compile_commands.json`. [#8091](https://github.com/microsoft/vscode-cpptools/issues/8091)
34+
* Fix an issue with `/kernel` arg to `cl.exe` for C files. [#8158](https://github.com/microsoft/vscode-cpptools/issues/8158)
35+
36+
## Version 1.6.0: August 24, 2021
37+
### New Features
1538
* Added support for standard `.editorconfig` entries when using vcFormat. [#7920](https://github.com/microsoft/vscode-cpptools/issues/7920)
1639
* Debug Step Granularity for cppdbg [MIEngine#1169](https://github.com/microsoft/MIEngine/pull/1169)
1740
* Thank you for the contribution @Trass3r
41+
* InstructionBreakpoints for cppdbg [MIEgnine#1192](https://github.com/microsoft/MIEngine/pull/1192)
1842

1943
### Enhancements
2044
* Debugger now runs on .NET 5 [#7858](https://github.com/microsoft/vscode-cpptools/pull/7858)
@@ -40,6 +64,10 @@
4064
* Fix an issue with support detection on Android. [#7906](https://github.com/microsoft/vscode-cpptools/issues/7906)
4165
* Fix a bug with handling of `"C_Cpp.vcFormat.newLine.beforeOpenBrace.block": "newLine"`. [#7926](https://github.com/microsoft/vscode-cpptools/issues/7926)
4266
* Fix Disassembly view is blank on linux [#7960](https://github.com/microsoft/vscode-cpptools/issues/7960)
67+
* Fix an issue with cppdbg debugging on Windows x64. [#7971](https://github.com/microsoft/vscode-cpptools/issues/7971)
68+
* Fix an issue with VS `<execution>` header causing IntelliSense process crash. [#7972](https://github.com/microsoft/vscode-cpptools/issues/7972)
69+
* Fix insiders update install loop for remote scenarios. [#8000](https://github.com/microsoft/vscode-cpptools/issues/8000)
70+
* Fix MacOS unable to use external terminal to debug [#8008](https://github.com/microsoft/vscode-cpptools/issues/8008)
4371

4472
## Version 1.5.1: July 9, 2021
4573
### Bug Fixes

Extension/c_cpp_properties.schema.json

Lines changed: 27 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -11,15 +11,18 @@
1111
],
1212
"properties": {
1313
"name": {
14-
"description": "Configuration identifier. Mac, Linux, and Win32 are special identifiers for configurations that will be auto-selected on those platforms, but the identifier can be anything.",
14+
"markdownDescription": "Configuration identifier. `Mac`, `Linux`, and `Win32` are special identifiers for configurations that will be auto-selected on those platforms, but the identifier can be anything.",
15+
"descriptionHint": "Markdown text between `` should not be translated or localized (they represent literal text) and the capitalization, spacing, and punctuation (including the ``) should not be altered.",
1516
"type": "string"
1617
},
1718
"compilerPath": {
18-
"description": "Full path of the compiler being used, e.g. /usr/bin/gcc, to enable more accurate IntelliSense.",
19+
"markdownDescription": "Full path of the compiler being used, e.g. `/usr/bin/gcc`, to enable more accurate IntelliSense.",
20+
"descriptionHint": "Markdown text between `` should not be translated or localized (they represent literal text) and the capitalization, spacing, and punctuation (including the ``) should not be altered.",
1921
"type": "string"
2022
},
2123
"compilerArgs": {
22-
"description": "Compiler arguments to modify the includes or defines used, e.g. -nostdinc++, -m32, etc.",
24+
"markdownDescription": "Compiler arguments to modify the includes or defines used, e.g. `-nostdinc++`, `-m32`, etc.",
25+
"descriptionHint": "Markdown text between `` should not be translated or localized (they represent literal text) and the capitalization, spacing, and punctuation (including the ``) should not be altered.",
2326
"type": "array",
2427
"items": {
2528
"type": "string"
@@ -60,11 +63,13 @@
6063
]
6164
},
6265
"compileCommands": {
63-
"description": "Full path to compile_commands.json file for the workspace.",
66+
"markdownDescription": "Full path to `compile_commands.json` file for the workspace.",
67+
"descriptionHint": "Markdown text between `` should not be translated or localized (they represent literal text) and the capitalization, spacing, and punctuation (including the ``) should not be altered.",
6468
"type": "string"
6569
},
6670
"includePath": {
67-
"description": "A list of paths for the IntelliSense engine to use while searching for included headers. Searching on these paths is not recursive. Specify '**' to indicate recursive search. For example, '${workspaceFolder}/**' will search through all subdirectories while '${workspaceFolder}' will not.",
71+
"markdownDescription": "A list of paths for the IntelliSense engine to use while searching for included headers. Searching on these paths is not recursive. Specify `**` to indicate recursive search. For example, `${workspaceFolder}/**` will search through all subdirectories while `${workspaceFolder}` will not. Usually, this should not include system includes; instead, set `C_Cpp.default.compilerPath`.",
72+
"descriptionHint": "Markdown text between `` should not be translated or localized (they represent literal text) and the capitalization, spacing, and punctuation (including the ``) should not be altered.",
6873
"type": "array",
6974
"items": {
7075
"type": "string"
@@ -78,19 +83,22 @@
7883
}
7984
},
8085
"windowsSdkVersion": {
81-
"description": "Version of the Windows SDK include path to use on Windows, e.g. '10.0.17134.0'.",
86+
"markdownDescription": "Version of the Windows SDK include path to use on Windows, e.g. `10.0.17134.0`.",
87+
"descriptionHint": "Markdown text between `` should not be translated or localized (they represent literal text) and the capitalization, spacing, and punctuation (including the ``) should not be altered.",
8288
"type": "string",
8389
"pattern": "^\\d{2}\\.\\d{1}\\.\\d{5}\\.\\d{1}$|^8\\.1$"
8490
},
8591
"defines": {
86-
"description": "A list of preprocessor definitions for the IntelliSense engine to use while parsing files. Optionally, use = to set a value, e.g. VERSION=1.",
92+
"markdownDescription": "A list of preprocessor definitions for the IntelliSense engine to use while parsing files. Optionally, use `=` to set a value, e.g. `VERSION=1`.",
93+
"descriptionHint": "Markdown text between `` should not be translated or localized (they represent literal text) and the capitalization, spacing, and punctuation (including the ``) should not be altered.",
8794
"type": "array",
8895
"items": {
8996
"type": "string"
9097
}
9198
},
9299
"intelliSenseMode": {
93-
"description": "The IntelliSense mode to use that maps to a platform and architecture variant of MSVC, gcc, or Clang. If not set or if set to ${default}, the extension will choose the default for that platform. Windows defaults to windows-msvc-x64, Linux defaults to linux-gcc-x64, and macOS defaults to macos-clang-x64. IntelliSense modes that only specify <compiler>-<architecture> variants (e.g. gcc-x64) are legacy modes and are converted automatically to the <platform>-<compiler>-<architecture> variants based on the host platform.",
100+
"markdownDescription": "The IntelliSense mode to use that maps to a platform and architecture variant of MSVC, gcc, or Clang. If not set or if set to `${default}`, the extension will choose the default for that platform. Windows defaults to `windows-msvc-x64`, Linux defaults to `linux-gcc-x64`, and macOS defaults to `macos-clang-x64`. IntelliSense modes that only specify `<compiler>-<architecture>` variants (e.g. `gcc-x64`) are legacy modes and are converted automatically to the `<platform>-<compiler>-<architecture>` variants based on the host platform.",
101+
"descriptionHint": "Uses of words 'platform', 'compiler', and 'architecture' are meant to be descriptive placeholders for literal values, so they should be translated, but without changing the surrounding `<>-<>` symbols. All other text inside `` should not be translated or localized (they represent literal text) and the capitalization, spacing, and punctuation (including the ``) should not be altered.",
94102
"type": "string",
95103
"enum": [
96104
"macos-clang-x86",
@@ -151,7 +159,8 @@
151159
"type": "object",
152160
"properties": {
153161
"limitSymbolsToIncludedHeaders": {
154-
"description": "true to process only those files directly or indirectly included as headers, false to process all files under the specified include paths.",
162+
"markdownDescription": "Set to `true` to process only those files directly or indirectly included as headers. Set to `false` to process all files under the specified include paths.",
163+
"descriptionHint": "Markdown text between `` should not be translated or localized (they represent literal text) and the capitalization, spacing, and punctuation (including the ``) should not be altered.",
155164
"type": [
156165
"boolean",
157166
"string"
@@ -162,7 +171,8 @@
162171
"type": "string"
163172
},
164173
"path": {
165-
"description": "A list of paths to use for indexing and parsing of workspace symbols (for use by Go to Definition, Find All References, etc.). Searching on these paths is recursive by default. Specify '*' to indicate non-recursive search. For example, '${workspaceFolder}' will search through all subdirectories while '${workspaceFolder}/*' will not.",
174+
"markdownDescription": "A list of paths to use for indexing and parsing of workspace symbols (for use by 'Go to Definition', 'Find All References', etc.). Searching on these paths is recursive by default. Specify `*` to indicate non-recursive search. For example, `${workspaceFolder}` will search through all subdirectories while `${workspaceFolder}/*` will not.",
175+
"descriptionHint": "Text in '' is a command and should be translated in the same way that VS Code itself translates it. Markdown text between `` should not be translated or localized (they represent literal text) and the capitalization, spacing, and punctuation (including the ``) should not be altered.",
166176
"type": "array",
167177
"items": {
168178
"type": "string"
@@ -173,7 +183,8 @@
173183
},
174184
"customConfigurationVariables": {
175185
"type": "object",
176-
"description": "Custom variables that can be queried through the command ${cpptools:activeConfigCustomVariable} to use for the input variables in launch.json or tasks.json.",
186+
"markdownDescription": "Custom variables that can be queried through the command `${cpptools:activeConfigCustomVariable}` to use for the input variables in `launch.json` or `tasks.json`.",
187+
"descriptionHint": "Markdown text between `` should not be translated or localized (they represent literal text) and the capitalization, spacing, and punctuation (including the ``) should not be altered.",
177188
"patternProperties": {
178189
"(^.+$)": {
179190
"type": "string"
@@ -187,9 +198,10 @@
187198
},
188199
"env": {
189200
"type": "object",
190-
"description": "Custom variables that can be reused anywhere in this file using the ${variable} or ${env:variable} syntax.",
201+
"markdownDescription": "Custom variables that can be reused anywhere in this file using the `${variable}` or `${env:variable}` syntax.",
202+
"descriptionHint": "The word 'variable' within curly braces should be translated. The \"env\" should not be translated, and the capitalization, spacing, and punctuation (\"${:}\", including the ``) should be preserved.",
191203
"patternProperties": {
192-
"(?!^workspaceFolder$)(?!^workspaceRoot$)(?!^workspaceFolderBasename$)(?!^default$)(^.+$)": {
204+
"(?!^workspaceFolder$)(?!^workspaceRoot$)(?!^workspaceFolderBasename$)(?!^execPath$)(?!^pathSeparator$)(?!^default$)(^.+$)": {
193205
"oneOf": [
194206
{
195207
"type": "string"
@@ -212,7 +224,8 @@
212224
"enableConfigurationSquiggles": {
213225
"type": "boolean",
214226
"default": true,
215-
"description": "Controls whether the extension will report errors detected in c_cpp_properties.json."
227+
"markdownDescription": "Controls whether the extension will report errors detected in `c_cpp_properties.json`.",
228+
"descriptionHint": "Markdown text between `` should not be translated or localized (they represent literal text) and the capitalization, spacing, and punctuation (including the ``) should not be altered."
216229
}
217230
},
218231
"properties": {

Extension/gulpfile.js

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -192,7 +192,7 @@ const processHtmlFiles = () => {
192192
const traverseJson = (jsonTree, descriptionCallback, prefixPath) => {
193193
for (let fieldName in jsonTree) {
194194
if (jsonTree[fieldName] !== null) {
195-
if (typeof (jsonTree[fieldName]) == "string" && fieldName === "description") {
195+
if (typeof (jsonTree[fieldName]) == "string" && (fieldName === "description" || fieldName === "markdownDescription")) {
196196
descriptionCallback(prefixPath, jsonTree[fieldName], jsonTree);
197197
} else if (typeof (jsonTree[fieldName]) == "object") {
198198
let path = prefixPath;
@@ -219,8 +219,9 @@ const processJsonSchemaFiles = () => {
219219
};
220220
let descriptionCallback = (path, value, parent) => {
221221
let locId = filePath + "." + path;
222+
let locHint = parent.descriptionHint;
222223
localizationJsonContents[locId] = value;
223-
localizationMetadataContents.keys.push(locId);
224+
localizationMetadataContents.keys.push(locHint ? { key: locId, comment: [locHint] } : locId);
224225
localizationMetadataContents.messages.push(value);
225226
};
226227
traverseJson(jsonTree, descriptionCallback, "");

0 commit comments

Comments
 (0)