@@ -9,39 +9,38 @@ Select "C/Cpp: Edit Configurations" from the command palette to create the **c_c
9
9
For developers using Ubuntu with the current version of WSL released with the Fall Creators Update, you can add the following configuration template to your ** c_cpp_properties.json** file.
10
10
11
11
``` json
12
- {
13
- "name" : " WSL" ,
14
- "intelliSenseMode" : " clang-x64" ,
15
- "includePath" : [
16
- " ${workspaceRoot}" ,
17
- " ${localappdata}/Packages/CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc/LocalState/rootfs/usr/include/c++/5" ,
18
- " ${localappdata}/Packages/CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc/LocalState/rootfs/usr/include/x86_64-linux-gnu/c++/5" ,
19
- " ${localappdata}/Packages/CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc/LocalState/rootfs/usr/include/c++/5/backward" ,
20
- " ${localappdata}/Packages/CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc/LocalState/rootfs/usr/lib/gcc/x86_64-linux-gnu/5/include" ,
21
- " ${localappdata}/Packages/CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc/LocalState/rootfs/usr/local/include" ,
22
- " ${localappdata}/Packages/CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc/LocalState/rootfs/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed" ,
23
- " ${localappdata}/Packages/CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc/LocalState/rootfs/usr/include/x86_64-linux-gnu" ,
24
- " ${localappdata}/Packages/CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc/LocalState/rootfs/usr/include"
25
- ],
26
- "defines" : [
27
- " __linux__" ,
28
- " __x86_64__"
29
- ],
30
- "browse" : {
31
- "path" : [
32
- " ${localappdata}/Packages/CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc/LocalState/rootfs/usr/include/c++/5" ,
33
- " ${localappdata}/Packages/CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc/LocalState/rootfs/usr/include/x86_64-linux-gnu/c++/5" ,
34
- " ${localappdata}/Packages/CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc/LocalState/rootfs/usr/lib/gcc/x86_64-linux-gnu/5/include" ,
35
- " ${localappdata}/Packages/CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc/LocalState/rootfs/usr/local/include" ,
36
- " ${localappdata}/Packages/CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc/LocalState/rootfs/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed" ,
37
- " ${localappdata}/Packages/CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc/LocalState/rootfs/usr/include/x86_64-linux-gnu" ,
38
- " ${localappdata}/Packages/CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc/LocalState/rootfs/usr/include/*"
39
- ],
40
- "limitSymbolsToIncludedHeaders" : true ,
41
- "databaseFilename" : " "
42
- }
43
- }
44
-
12
+ {
13
+ "name" : " WSL" ,
14
+ "intelliSenseMode" : " clang-x64" ,
15
+ "includePath" : [
16
+ " ${workspaceRoot}" ,
17
+ " ${localappdata}/Packages/CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc/LocalState/rootfs/usr/include/c++/5" ,
18
+ " ${localappdata}/Packages/CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc/LocalState/rootfs/usr/include/x86_64-linux-gnu/c++/5" ,
19
+ " ${localappdata}/Packages/CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc/LocalState/rootfs/usr/include/c++/5/backward" ,
20
+ " ${localappdata}/Packages/CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc/LocalState/rootfs/usr/lib/gcc/x86_64-linux-gnu/5/include" ,
21
+ " ${localappdata}/Packages/CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc/LocalState/rootfs/usr/local/include" ,
22
+ " ${localappdata}/Packages/CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc/LocalState/rootfs/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed" ,
23
+ " ${localappdata}/Packages/CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc/LocalState/rootfs/usr/include/x86_64-linux-gnu" ,
24
+ " ${localappdata}/Packages/CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc/LocalState/rootfs/usr/include"
25
+ ],
26
+ "defines" : [
27
+ " __linux__" ,
28
+ " __x86_64__"
29
+ ],
30
+ "browse" : {
31
+ "path" : [
32
+ " ${localappdata}/Packages/CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc/LocalState/rootfs/usr/include/c++/5" ,
33
+ " ${localappdata}/Packages/CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc/LocalState/rootfs/usr/include/x86_64-linux-gnu/c++/5" ,
34
+ " ${localappdata}/Packages/CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc/LocalState/rootfs/usr/lib/gcc/x86_64-linux-gnu/5/include" ,
35
+ " ${localappdata}/Packages/CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc/LocalState/rootfs/usr/local/include" ,
36
+ " ${localappdata}/Packages/CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc/LocalState/rootfs/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed" ,
37
+ " ${localappdata}/Packages/CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc/LocalState/rootfs/usr/include/x86_64-linux-gnu" ,
38
+ " ${localappdata}/Packages/CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc/LocalState/rootfs/usr/include/*"
39
+ ],
40
+ "limitSymbolsToIncludedHeaders" : true ,
41
+ "databaseFilename" : " "
42
+ }
43
+ }
45
44
```
46
45
47
46
The ` includePath ` above includes the system header paths that gcc uses for C++ projects and matches the output of ` gcc -v -E -x c++ - < /dev/null ` . The intelliSenseMode should be set to ** "clang-x64"** to get WSL projects to work properly with IntelliSense.
@@ -51,73 +50,72 @@ Note that `${localappdata}/Packages/CanonicalGroupLimited.UbuntuonWindows_79rhkp
51
50
For C projects, simply remove the c++ lines:
52
51
53
52
``` json
54
- {
55
- "name" : " WSL" ,
56
- "intelliSenseMode" : " clang-x64" ,
57
- "includePath" : [
58
- " ${workspaceRoot}" ,
59
- " ${localappdata}/lxss/rootfs/usr/lib/gcc/x86_64-linux-gnu/5/include" ,
60
- " ${localappdata}/lxss/rootfs/usr/local/include" ,
61
- " ${localappdata}/lxss/rootfs/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed" ,
62
- " ${localappdata}/lxss/rootfs/usr/include/x86_64-linux-gnu" ,
63
- " ${localappdata}/lxss/rootfs/usr/include"
64
- ],
65
- "defines" : [
66
- " __linux__" ,
67
- " __x86_64__"
68
- ],
69
- "browse" : {
70
- "path" : [
71
- " ${localappdata}/lxss/rootfs/usr/lib/gcc/x86_64-linux-gnu/5/include" ,
72
- " ${localappdata}/lxss/rootfs/usr/local/include" ,
73
- " ${localappdata}/lxss/rootfs/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed" ,
74
- " ${localappdata}/lxss/rootfs/usr/include/x86_64-linux-gnu" ,
75
- " ${localappdata}/lxss/rootfs/usr/include/*"
76
- ],
77
- "limitSymbolsToIncludedHeaders" : true ,
78
- "databaseFilename" : " "
79
- }
80
- }
53
+ {
54
+ "name" : " WSL" ,
55
+ "intelliSenseMode" : " clang-x64" ,
56
+ "includePath" : [
57
+ " ${workspaceRoot}" ,
58
+ " ${localappdata}/lxss/rootfs/usr/lib/gcc/x86_64-linux-gnu/5/include" ,
59
+ " ${localappdata}/lxss/rootfs/usr/local/include" ,
60
+ " ${localappdata}/lxss/rootfs/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed" ,
61
+ " ${localappdata}/lxss/rootfs/usr/include/x86_64-linux-gnu" ,
62
+ " ${localappdata}/lxss/rootfs/usr/include"
63
+ ],
64
+ "defines" : [
65
+ " __linux__" ,
66
+ " __x86_64__"
67
+ ],
68
+ "browse" : {
69
+ "path" : [
70
+ " ${localappdata}/lxss/rootfs/usr/lib/gcc/x86_64-linux-gnu/5/include" ,
71
+ " ${localappdata}/lxss/rootfs/usr/local/include" ,
72
+ " ${localappdata}/lxss/rootfs/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed" ,
73
+ " ${localappdata}/lxss/rootfs/usr/include/x86_64-linux-gnu" ,
74
+ " ${localappdata}/lxss/rootfs/usr/include/*"
75
+ ],
76
+ "limitSymbolsToIncludedHeaders" : true ,
77
+ "databaseFilename" : " "
78
+ }
79
+ }
81
80
```
82
81
83
82
## Beta
84
83
85
84
For developers using Bash on Ubuntu on Windows with the beta version of WSL from before the Fall Creators Update, you can add the following configuration template to your ** c_cpp_properties.json** file.
86
85
87
86
``` json
88
- {
89
- "name" : " WSL" ,
90
- "intelliSenseMode" : " clang-x64" ,
91
- "includePath" : [
92
- " ${workspaceRoot}" ,
93
- " ${localappdata}/lxss/rootfs/usr/include/c++/5" ,
94
- " ${localappdata}/lxss/rootfs/usr/include/x86_64-linux-gnu/c++/5" ,
95
- " ${localappdata}/lxss/rootfs/usr/include/c++/5/backward" ,
96
- " ${localappdata}/lxss/rootfs/usr/lib/gcc/x86_64-linux-gnu/5/include" ,
97
- " ${localappdata}/lxss/rootfs/usr/local/include" ,
98
- " ${localappdata}/lxss/rootfs/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed" ,
99
- " ${localappdata}/lxss/rootfs/usr/include/x86_64-linux-gnu" ,
100
- " ${localappdata}/lxss/rootfs/usr/include"
101
- ],
102
- "defines" : [
103
- " __linux__" ,
104
- " __x86_64__"
105
- ],
106
- "browse" : {
107
- "path" : [
108
- " ${localappdata}/lxss/rootfs/usr/include/c++/5" ,
109
- " ${localappdata}/lxss/rootfs/usr/include/x86_64-linux-gnu/c++/5" ,
110
- " ${localappdata}/lxss/rootfs/usr/lib/gcc/x86_64-linux-gnu/5/include" ,
111
- " ${localappdata}/lxss/rootfs/usr/local/include" ,
112
- " ${localappdata}/lxss/rootfs/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed" ,
113
- " ${localappdata}/lxss/rootfs/usr/include/x86_64-linux-gnu" ,
114
- " ${localappdata}/lxss/rootfs/usr/include/*"
115
- ],
116
- "limitSymbolsToIncludedHeaders" : true ,
117
- "databaseFilename" : " "
118
- }
119
- }
120
-
87
+ {
88
+ "name" : " WSL (Beta)" ,
89
+ "intelliSenseMode" : " clang-x64" ,
90
+ "includePath" : [
91
+ " ${workspaceRoot}" ,
92
+ " ${localappdata}/lxss/rootfs/usr/include/c++/5" ,
93
+ " ${localappdata}/lxss/rootfs/usr/include/x86_64-linux-gnu/c++/5" ,
94
+ " ${localappdata}/lxss/rootfs/usr/include/c++/5/backward" ,
95
+ " ${localappdata}/lxss/rootfs/usr/lib/gcc/x86_64-linux-gnu/5/include" ,
96
+ " ${localappdata}/lxss/rootfs/usr/local/include" ,
97
+ " ${localappdata}/lxss/rootfs/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed" ,
98
+ " ${localappdata}/lxss/rootfs/usr/include/x86_64-linux-gnu" ,
99
+ " ${localappdata}/lxss/rootfs/usr/include"
100
+ ],
101
+ "defines" : [
102
+ " __linux__" ,
103
+ " __x86_64__"
104
+ ],
105
+ "browse" : {
106
+ "path" : [
107
+ " ${localappdata}/lxss/rootfs/usr/include/c++/5" ,
108
+ " ${localappdata}/lxss/rootfs/usr/include/x86_64-linux-gnu/c++/5" ,
109
+ " ${localappdata}/lxss/rootfs/usr/lib/gcc/x86_64-linux-gnu/5/include" ,
110
+ " ${localappdata}/lxss/rootfs/usr/local/include" ,
111
+ " ${localappdata}/lxss/rootfs/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed" ,
112
+ " ${localappdata}/lxss/rootfs/usr/include/x86_64-linux-gnu" ,
113
+ " ${localappdata}/lxss/rootfs/usr/include/*"
114
+ ],
115
+ "limitSymbolsToIncludedHeaders" : true ,
116
+ "databaseFilename" : " "
117
+ }
118
+ }
121
119
```
122
120
123
121
The ` includePath ` above includes the system header paths that gcc uses for C++ projects and matches the output of ` gcc -v -E -x c++ - < /dev/null ` . The intelliSenseMode should be set to ** "clang-x64"** to get WSL projects to work properly with IntelliSense.
0 commit comments