@@ -9,39 +9,38 @@ Select "C/Cpp: Edit Configurations" from the command palette to create the **c_c
99For 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.
1010
1111``` 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+ }
4544```
4645
4746The ` 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
5150For C projects, simply remove the c++ lines:
5251
5352``` 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+ }
8180```
8281
8382## Beta
8483
8584For 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.
8685
8786``` 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+ }
121119```
122120
123121The ` 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