引言
Visual Studio Code是一款好用的开源编辑器,想用来写c/c++,发现目前的中文资料里对这些方面要么版本较旧,要么没有较好的描述具体应该怎样做。
找到一些英文资源,写的很详细,先把链接贴上来
vs code 自家的文档,写的很详细,用mingw作为编译器, https://code.visualstudio.com/docs/languages/cpp ,但mingw已经许久没有更新了,目前的mingw-w64却仍在更新,使用时稍有不同,需要注意。
另外,这篇写的不错 https://github.com/LambdaSchool/CS-Wiki/wiki/C-and-Cpp-Debugging-in-VS-Code 。使用了cygwin作为编译器(cygwin其实就是包含了mingw-w64)
安装编译器
具体操作参考这里(这位作者写了一个系列,很详细的写了如何一步一步上手c/c++):https://github.com/LambdaSchool/CS-Wiki/wiki/Getting-Your-C-Compiler-Installed
上面的帖子提供了多种方法来在win系统安装c/c++编译器
我们选择cygwin来作为编译器,官网在此。按步骤安装,主要是gcc与g++,其他的附带组件也可以尝试。
目的就是在powershell中能够直接运行gcc与g++。
VS code设置
安装插件:C/C++ for Visual Studio Code
修改 c_cpp_properties.json 文件,添加include路径
{ "configurations": [ { "name": "Mac", "includePath": [ "/usr/include", "/usr/local/include", "${workspaceRoot}" ], "defines": [], "intelliSenseMode": "clang-x64", "browse": { "path": [ "/usr/include", "/usr/local/include", "D:\\cygwin64\\lib\\gcc\\x86_64-pc-cygwin\.4.0\\include", "${workspaceRoot}" ], "limitSymbolsToIncludedHeaders": true, "databaseFilename": "" }, "macFrameworkPath": [ "/System/Library/Frameworks", "/Library/Frameworks" ] }, { "name": "Linux", "includePath": [ "/usr/include", "/usr/local/include", "${workspaceRoot}" ], "defines": [], "intelliSenseMode": "clang-x64", "browse": { "path": [ "/usr/include", "/usr/local/include", "${workspaceRoot}" ], "limitSymbolsToIncludedHeaders": true, "databaseFilename": "" } }, { "name": "Win32", "includePath": [ "${workspaceRoot}", "D:/cygwin64/lib/gcc/x86_64-pc-cygwin/6.4.0/include", "D:/cygwin64/lib/gcc/x86_64-pc-cygwin/6.4.0/include/c++/*", "D:/cygwin64/lib/gcc/x86_64-pc-cygwin/6.4.0/include/c++/tr1/", "D:/cygwin64/lib/gcc/x86_64-pc-cygwin/6.4.0/include/c++/tr2/", "D:/cygwin64/lib/gcc/x86_64-pc-cygwin/6.4.0/include/c++/bits/", "D:/cygwin64/lib/gcc/x86_64-pc-cygwin/6.4.0/include/c++/x86_64-pc-cygwin/" ], "defines": [ "_DEBUG", "UNICODE", "_UNICODE" ], "intelliSenseMode": "msvc-x64", "browse": { "path": [ "${workspaceRoot}", "D:/cygwin64/lib/gcc/x86_64-pc-cygwin/6.4.0/include", "D:/cygwin64/lib/gcc/x86_64-pc-cygwin/6.4.0/include/c++/*", "D:/cygwin64/lib/gcc/x86_64-pc-cygwin/6.4.0/include/c++/tr1/", "D:/cygwin64/lib/gcc/x86_64-pc-cygwin/6.4.0/include/c++/tr2/", "D:/cygwin64/lib/gcc/x86_64-pc-cygwin/6.4.0/include/c++/bits/", "D:/cygwin64/lib/gcc/x86_64-pc-cygwin/6.4.0/include/c++/x86_64-pc-cygwin/" ], "limitSymbolsToIncludedHeaders": true, "databaseFilename": "" } } ], "version": 3 }
其中,最重要的部分就是添加路径:
"D:/cygwin64/lib/gcc/x86_64-pc-cygwin/6.4.0/include", "D:/cygwin64/lib/gcc/x86_64-pc-cygwin/6.4.0/include/c++/*", "D:/cygwin64/lib/gcc/x86_64-pc-cygwin/6.4.0/include/c++/tr1/", "D:/cygwin64/lib/gcc/x86_64-pc-cygwin/6.4.0/include/c++/tr2/", "D:/cygwin64/lib/gcc/x86_64-pc-cygwin/6.4.0/include/c++/bits/", "D:/cygwin64/lib/gcc/x86_64-pc-cygwin/6.4.0/include/c++/x86_64-pc-cygwin/"
这一步做完,基本code已经能够进行c/c++的输入词联想。
编译及运行程序
使用vs code的默认编译是不行的,需要在查看菜单,调出终端,在终端运行gcc -Wall -Wextra -o foo foo.c ,当然,如果编写好了make文件,可以直接用make命令。
结语
本文的叙述难免有疏漏,如果想了解更详细的内容,建议去看英文原网页。