Skip to content

Commit b580b73

Browse files
authored
Merge pull request #2069 from Microsoft/master
0.17.4 release
2 parents d786b0f + 4b5b086 commit b580b73

File tree

14 files changed

+341
-54
lines changed

14 files changed

+341
-54
lines changed

Documentation/LanguageServer/Customizing Default Settings.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -77,21 +77,21 @@ A new setting will be added that allows you specify the system include path sepa
7777
C_Cpp.default.systemIncludePath : string[]
7878
```
7979

80-
### Include Path Resolution Strategies
80+
### System Include Path/Defines Resolution Strategies
8181

82-
The extension determines the includePath to send to the IntelliSense engine in the following manner:
82+
The extension determines the system includePath and defines to send to the IntelliSense engine in the following manner:
8383

8484
1. If `compileCommands` has a valid value and the file open in the editor is in the database, use the compile command in the database entry to determine the include path and defines.
8585
* The system include path and defines are determined using the following logic (in order):
86-
1. If `systemIncludePath` has a value, use it (continue to the next step to seach for system defines).
86+
1. If `systemIncludePath` has a value, use it (continue to the next step to search for system defines).
8787
2. If `compilerPath` is valid, query it.
8888
3. Interpret the first argument in the command as the compiler and attempt to query it.
8989
4. If `compilerPath` is `""`, use an empty array for system include path and defines.
9090
5. If `compilerPath` is undefined, look for a compiler on the system and query it.
9191

9292
2. If `compileCommands` is invalid or the current file is not listed in the database, use the `includePath` and `defines` properties in the configuration for IntelliSense.
9393
* The system include path and defines are determined using the following logic (in order):
94-
1. If `systemIncludePath` has a value, use it (continue to the next step to seach for system defines).
94+
1. If `systemIncludePath` has a value, use it (continue to the next step to search for system defines).
9595
2. If `compilerPath` is valid, query it.
9696
3. If `compilerPath` is `""`, use an empty array for system include path and defines (they are assumed to be in the `includePath` and `defines` for the current config already).
9797
4. If `compilerPath` is undefined, look for a compiler on the system and query it.

Documentation/LanguageServer/IntelliSense engine.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,6 @@ We recommend using the "Default" engine for the best IntelliSense experience. Ho
3939

4040
### See Also
4141

42-
[Configuring includePath for better IntelliSense results](https://github.com/Microsoft/vscode-cpptools/blob/master/Documentation/Getting%20started.md)
42+
[Configuring includePath for better IntelliSense results](https://github.com/Microsoft/vscode-cpptools/blob/master/Documentation/Getting%20started%20with%20IntelliSense%20configuration.md)
4343

4444
[**c_cpp_properties.json** reference guide](https://github.com/Microsoft/vscode-cpptools/blob/master/Documentation/LanguageServer/c_cpp_properties.json.md)

Documentation/LanguageServer/c_cpp_properties.json.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -7,17 +7,17 @@
77
```json
88
{
99
"env" : {
10-
"defaultIncludePath": [
10+
"myDefaultIncludePath": [
1111
"${workspaceFolder}",
1212
"${workspaceFolder}/include"
1313
],
1414
"myCompilerPath": "/usr/local/bin/gcc-7"
1515
},
1616
"configurations": [
1717
{
18-
"name": "Win32",
19-
"intelliSenseMode": "msvc-x64",
20-
"includePath": [ "${defaultIncludePath}", "/another/path" ],
18+
"name": "Mac",
19+
"intelliSenseMode": "clang-x64",
20+
"includePath": [ "${myDefaultIncludePath}", "/another/path" ],
2121
"macFrameworkPath": [ "/System/Library/Frameworks" ],
2222
"defines": [ "FOO", "BAR=100" ],
2323
"forcedInclude": [ "${workspaceFolder}/include/config.h" ],
@@ -42,7 +42,7 @@
4242
An array of user-defined variables that will be available for substitution in the configurations via the standard environment variable syntax: `${<var>}` or `${env:<var>}`. Strings and arrays of strings are accepted.
4343

4444
* #### `configurations`
45-
An array of configuration objects that provide the IntelliSense engine with information about your project and your preferences. By default, the extension creates 3 configurations for you, one each for Linux, Mac, and Windows, but it is not required to keep them all. You may also add additional configurations if necessary.
45+
An array of configuration objects that provide the IntelliSense engine with information about your project and your preferences. By default, the extension creates a configuration for you based on your operating system. You may also add additional configurations.
4646

4747
* #### `version`
4848
We recommend you don't edit this field. It tracks the current version of the **c_cpp_properties.json** file so that the extension knows what properties and settings should be present and how to upgrade this file to the latest version.
@@ -56,13 +56,13 @@
5656
If `"C_Cpp.intelliSenseEngine"` is set to "Default" in your settings file, this property determines which mode the IntelliSense engine will run in. `"msvc-x64"` maps to Visual Studio mode with 64-bit pointer sizes. `"clang-x64"` maps to GCC/CLang mode with 64-bit pointer sizes. Windows uses `"msvc-x64"` by default and Linux/Mac use `"clang-x64"` by default.
5757

5858
* #### `includePath`
59-
If `"C_Cpp.intelliSenseEngine"` is set to "Default" in your settings file, this list of paths will be used by IntelliSense to search for headers included by your source files. This is basically the same as the list of paths you pass to your compiler with the `-I` switch; the IntelliSense engine will not do a recursive search in these paths for includes. If a GCC/CLang compiler is specified in the `compilerPath` setting, it is not necessary to list the system include paths in this list.
59+
If `"C_Cpp.intelliSenseEngine"` is set to "Default" in your settings file, this list of paths will be used by IntelliSense to search for headers included by your source files. This is basically the same as the list of paths you pass to your compiler with the `-I` switch. If a path ends with `/**` the IntelliSense engine will do a recursive search for includes starting from that directory. If on Windows with Visual Studio installed, or if a compiler is specified in the `compilerPath` setting, it is not necessary to list the system include paths in this list.
6060

6161
* #### `macFrameworkPath`
6262
If `"C_Cpp.intelliSenseEngine"` is set to "Default" in your settings file, this list of paths will be used by IntelliSense to search for framework headers included by your source files. This is basically the same as the list of paths you pass to your compiler with the `-F` switch; the IntelliSense engine will not do a recursive search in these paths for includes.
6363

6464
* #### `defines`
65-
If `"C_Cpp.intelliSenseEngine"` is set to "Default" in your settings file, this list of preprocessor symbols will be used by IntelliSense during the compilation of your source files. This is basically the same as the list of symbols you pass to your compiler with the `-D` switch.
65+
If `"C_Cpp.intelliSenseEngine"` is set to "Default" in your settings file, this list of preprocessor symbols will be used by IntelliSense during the compilation of your source files. This is basically the same as the list of symbols you pass to your compiler with the `-D` switch. If on Windows with Visual Studio installed, or if a compiler is specified in the `compilerPath` setting, it is not necessary to list the system include paths in this list.
6666

6767
* #### `forcedInclude` (optional)
6868
A list of files that should be included before any other characters in the source file are processed. Files are included in the order listed.

Extension/CHANGELOG.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,13 @@
11
# C/C++ for Visual Studio Code Change Log
22

3+
## Version 0.17.4: May 31, 2018
4+
* Fix infinite loop (caused by deadlock) when using recursive includes. [#2043](https://github.com/Microsoft/vscode-cpptools/issues/2043)
5+
* Stop using recursive includes in the default configuration.
6+
* @Hyzeta [PR #2059](https://github.com/Microsoft/vscode-cpptools/pull/2059)
7+
* Fix various other potential deadlocks and crashes.
8+
* Fix Go to Definition on `#include` not filtering out results based on the path. [#1253](https://github.com/Microsoft/vscode-cpptools/issues/1253), [#2033](https://github.com/Microsoft/vscode-cpptools/issues/2033)
9+
* Fix database icon getting stuck. [#1917](https://github.com/Microsoft/vscode-cpptools/issues/1917)
10+
311
## Version 0.17.3: May 22, 2018
412
* Add support for `${workspaceFolder:folderName}`. [#1774](https://github.com/Microsoft/vscode-cpptools/issues/1774)
513
* Fix infinite loop during initialization on Windows. [#1960](https://github.com/Microsoft/vscode-cpptools/issues/1960)

Extension/package-lock.json

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Extension/package.json

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
"name": "cpptools",
33
"displayName": "C/C++",
44
"description": "C/C++ IntelliSense, debugging, and code browsing.",
5-
"version": "0.17.3",
5+
"version": "0.17.4-master",
66
"publisher": "ms-vscode",
77
"preview": true,
88
"icon": "LanguageCCPP_color_128x.png",
@@ -1319,7 +1319,7 @@
13191319
"runtimeDependencies": [
13201320
{
13211321
"description": "C/C++ language components (Linux / x86_64)",
1322-
"url": "https://go.microsoft.com/fwlink/?linkid=874519",
1322+
"url": "https://go.microsoft.com/fwlink/?linkid=874913",
13231323
"platforms": [
13241324
"linux"
13251325
],
@@ -1333,7 +1333,7 @@
13331333
},
13341334
{
13351335
"description": "C/C++ language components (Linux / x86)",
1336-
"url": "https://go.microsoft.com/fwlink/?linkid=874520",
1336+
"url": "https://go.microsoft.com/fwlink/?linkid=874914",
13371337
"platforms": [
13381338
"linux"
13391339
],
@@ -1349,7 +1349,7 @@
13491349
},
13501350
{
13511351
"description": "C/C++ language components (OS X)",
1352-
"url": "https://go.microsoft.com/fwlink/?linkid=874521",
1352+
"url": "https://go.microsoft.com/fwlink/?linkid=874915",
13531353
"platforms": [
13541354
"darwin"
13551355
],
@@ -1360,7 +1360,7 @@
13601360
},
13611361
{
13621362
"description": "C/C++ language components (Windows)",
1363-
"url": "https://go.microsoft.com/fwlink/?linkid=874522",
1363+
"url": "https://go.microsoft.com/fwlink/?linkid=874916",
13641364
"platforms": [
13651365
"win32"
13661366
],

0 commit comments

Comments
 (0)