VSCode实现C++代码提示、语法高亮、编译和调试
2017-09-28 11:50
706 查看
众所周知,目前Microsoft Visual Studio 系列还不能迁移到Linux系统,MacOS只能凑和着用用,而且Visual Studio 2017的安装包的体积增长到了27GB以上,安装空间需求70GB以上的空间,一个小巧灵活的VS Code对于C++开发者而言更加实用。
1. Windows Software Development Kit 10.0.15063
2. Microsoft Visual C++ Build Tools 2015
3. Microsoft Visual Studio Code
4. Cppcheck 1.8
5. LLVM 5.0
6. CMake 3.9
Windows SDK的下载地址是:https://developer.microsoft.com/zh-cn/windows/downloads/windows-10-sdk。
Microsoft Visual C++ Build Tools 2015 的下载地址是:http://landinghub.visualstudio.com/visual-cpp-build-tools,此安装包含Windows SDK 8.1和 Windows SDK 10.0.10240,因版本过时,不建议安装。
Microsoft Visual Studio Code的下载地址是:https://code.visualstudio.com/?wt.mc_id=DX_841432。
Cppcheck 1.8的下载地址是:http://cppcheck.sourceforge.net/。这个工具对于C++代码检查、代码提示非常有帮助。安装过程结束后把工具的安装位置加入Path环境变量。
LLVM 5.0的下载地址是:http://releases.llvm.org/download.html。LLVM自带的CLang工具对代码自动格式化非常有帮助。此外LLVM也是一款很好用的编译套件,以后也用的上。安装过程结束后把工具的安装位置加入Path环境变量。
CMake 3.9的下载地址是:https://cmake.org/download/。CMake是一套自动编译工具,它提供可视化的图形界面,自动生成适用于各种编译平台的Makefile。VS Code的C++编译套件对它有依赖。虽然下文用的是NMake,但CMake留着也不错。安装过程结束后把工具的安装位置加入Path环境变量。
安装顺序按照以上列出软件的顺序进行。
第一步:安装cpp-pack插件。如下图所示:
![](http://img.blog.csdn.net/20170928140934439?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvY2Fvc2hpeWluZw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
第二步:安装codecpp-full插件,如下图所示:
![](http://img.blog.csdn.net/20170928141722783?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvY2Fvc2hpeWluZw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
第三步:卸载C/C++ Advanced Lint,这个插件跟新版本的VS Code有冲突,会导致整个C++开发工作无法进行下去。如下图所示:
![](http://img.blog.csdn.net/20170928142024139?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvY2Fvc2hpeWluZw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
这一步配置完成后,VS Code的C++开发功能已经正常工作了。
![](http://img.blog.csdn.net/20170928160950512?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvY2Fvc2hpeWluZw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
下个断点:
![](http://img.blog.csdn.net/20170928161347780?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvY2Fvc2hpeWluZw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
接下来就可以直接按下F5了:
![](http://img.blog.csdn.net/20170928161447973?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvY2Fvc2hpeWluZw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
至此VS Code的C++开发环境设置全部顺利完成。
一、开发环境
软件列表如下:1. Windows Software Development Kit 10.0.15063
2. Microsoft Visual C++ Build Tools 2015
3. Microsoft Visual Studio Code
4. Cppcheck 1.8
5. LLVM 5.0
6. CMake 3.9
Windows SDK的下载地址是:https://developer.microsoft.com/zh-cn/windows/downloads/windows-10-sdk。
Microsoft Visual C++ Build Tools 2015 的下载地址是:http://landinghub.visualstudio.com/visual-cpp-build-tools,此安装包含Windows SDK 8.1和 Windows SDK 10.0.10240,因版本过时,不建议安装。
Microsoft Visual Studio Code的下载地址是:https://code.visualstudio.com/?wt.mc_id=DX_841432。
Cppcheck 1.8的下载地址是:http://cppcheck.sourceforge.net/。这个工具对于C++代码检查、代码提示非常有帮助。安装过程结束后把工具的安装位置加入Path环境变量。
LLVM 5.0的下载地址是:http://releases.llvm.org/download.html。LLVM自带的CLang工具对代码自动格式化非常有帮助。此外LLVM也是一款很好用的编译套件,以后也用的上。安装过程结束后把工具的安装位置加入Path环境变量。
CMake 3.9的下载地址是:https://cmake.org/download/。CMake是一套自动编译工具,它提供可视化的图形界面,自动生成适用于各种编译平台的Makefile。VS Code的C++编译套件对它有依赖。虽然下文用的是NMake,但CMake留着也不错。安装过程结束后把工具的安装位置加入Path环境变量。
安装顺序按照以上列出软件的顺序进行。
二、配置VS Code
VS Code当前版本没有C++开发功能,自动提示、代码高亮、编译并调试这三大核心功能都需要配置,插件列表也没有Qt开发相关。所以总体实现思路是首先qmake生成Makefile,然后NMake去编译,最后是Windows SDK的CDB调试器Debug生成结果。微软的Visual C++博客团队写过几篇文章引导用户使用VS Code开发C++应用程序,链接如下:https://code.visualstudio.com/docs/languages/cpp。文章没有中文版本,介绍的方法虽然大部分可用,但是用到的某些VS Code插件已经找不到了。第一步:安装cpp-pack插件。如下图所示:
第二步:安装codecpp-full插件,如下图所示:
第三步:卸载C/C++ Advanced Lint,这个插件跟新版本的VS Code有冲突,会导致整个C++开发工作无法进行下去。如下图所示:
三、验证VSCode 的C++开发功能
第一步:工作目录。
新建一个文件夹,取名为test。第二步:用VS Code打开工作目录
第三步:配置C++开发环境
点击Tasks->Configure Default Build Task菜单,把task.json改成:{ "version": "2.0.0", "tasks": [{ "taskName": "test build", "type": "shell", "command": "${workspaceRoot}/build.bat", "group": { "kind": "build", "isDefault": true } }] }
第四步:新建build.bat
写入build命令行:@echo off title test build command set VCINSTALLDIR=C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC set QTDIR=C:\Qt\Qt5.9.1\5.9.1\msvc2015_64 set PATH=%PATH%;%QTDIR%\bin call "%VCINSTALLDIR%\vcvarsall.bat" amd64 nmake
第五步:编写Makefile。
关于Makefile的编写规则请参照微软编写的《NMAKE Reference》。下面是当前测试工程需要用到的Makefile代码:CFLAGS= CPPFLAGS=/D "_WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_CRT_SECURE_NO_WARNINGS" /D "_UNICODE" /D "UNICODE" LDFLAGS=/LIBPATH:debug/ LIBS=user32.lib kernel32.lib comctl32.lib OBJS=main.obj default: TEST_EXE TEST_DLL TEST_EXE: $(OBJS) @if not exist debug ( mkdir debug ) @link /nologo /DEBUG /MACHINE:X64 /MANIFEST:NO /OUT:debug\test.exe /PDB:debug\test.pdb /SUBSYSTEM:CONSOLE $(LDFLAGS) $(OBJS) $(LIBS) @echo generate executable files finished. TEST_DLL: $(OBJS) @if not exist debug ( mkdir debug ) @link /nologo /DEBUG /DLL /MACHINE:X64 /MANIFEST:NO /OUT:debug\libtest.dll /IMPLIB:debug\libtest.lib /PDB:debug\libtest.pdb /SUBSYSTEM:WINDOWS $(LDFLAGS) $(OBJS) $(LIBS) @echo generate dynamic library finished. .cpp.obj: @if not exist debug ( mkdir debug ) @cl /nologo /ZI /EHsc /W3 /MDd /W3 /c $(CPPFLAGS) /Fd:debug\ /Fo:debug\ $*.cpp @echo compile $@ finished. clean: @del /f /s /q *.obj @del /f /s /q *.res @del /f /s /q *.ilk @del /f /s /q *.idb @del /f /s /q *.dll @del /f /s /q *.exe @del /f /s /q *.pdb @del /f /s /q *.exp @del /f /s /q *.lib @if exist debug ( rd /s /q debug )
第六步:在.vscode目录下新建c_cpp_properties.cpp,
c_cpp_properties.json的代码如下:{ "configurations": [{ "name": "msvc2015", "browse": { "path": [ "${workspaceRoot}", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/atlmfc/include", "C:/Program Files (x86)/Windows Kits/10/Include/10.0.15063.0/ucrt", "C:/Program Files (x86)/Windows Kits/10/Include/10.0.15063.0/um", "C:/Program Files (x86)/Windows Kits/10/Include/10.0.15063.0/shared" ] }, "includePath": [ "${workspaceRoot}", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/atlmfc/include", "C:/Program Files (x86)/Windows Kits/10/Include/10.0.15063.0/ucrt", "C:/Program Files (x86)/Windows Kits/10/Include/10.0.15063.0/um", "C:/Program Files (x86)/Windows Kits/10/Include/10.0.15063.0/shared" ], "intelliSenseMode": "msvc-x64" }], "version": 3 }
这一步配置完成后,VS Code的C++开发功能已经正常工作了。
第七步:新建main.cpp
main.cpp的代码如下:#include <iostream> int main() { std::cout<<"Hello World for Visual Studio Code C++ "<<std::endl; return 0; } extern "C" int __declspec(dllexport) get_age() { return 21; }
第八步:编译
按下CTRL+SHIFT+B,成功截图如下:第九步:设置调试
新建launch.json,写入以下代码:{ "version": "0.2.0", "configurations": [{ "name": "(Windows) Launch", "type": "cppvsdbg", "request": "launch", "program": "test.exe", "args": [], "stopAtEntry": false, "cwd": "${workspaceRoot}/debug", "environment": [], "externalConsole": true }] }
下个断点:
接下来就可以直接按下F5了:
至此VS Code的C++开发环境设置全部顺利完成。
相关文章推荐
- Visual Studio Code开发Qt应用程序实现自动提示、语法高亮、代码导航、编译和调试
- 编译原理(九) LR(0)文法分析法(算法描述和C++代码实现)
- eclipse编译调试java与ndk c++的混合代码
- asp.net mvc5本机调试正常,发布到服务器上提示编译错误,编译器失败错误代码未-2146232576
- Sublime Text 3 实现C++代码的编译和运行示例
- windows下sublime编译调试c++的配置代码
- C++编译代码的时候提示‘getInstance’ is not a member of ‘A’ A& a = A::getInstance();解决办法
- Windows Eclipse编译调试Linux下的C++代码
- 基于Mdbg实现的C#脚本代码调试(编译,断点、单步调试)
- Sublime MinGw实现C/C++代码编译运行
- eclipse编译调试java与ndk c++的混合代码
- android NDK开发——Android.mk\Application.mk实现与C\C++代码编译
- 编译原理(一) Chomsky文法的判断方法及C++代码实现
- 编译原理(九) LR(0)文法分析法(算法描述和C++代码实现)
- eclipse编译调试java与ndk c++的混合代码
- 一些算法的代码练习(c++实现,编译环境xcode)
- Singleton模式的C++实现研究(示例代码)
- 完全代码实现GridView删除按钮提示
- 用C/C++实现代码的动态修改(SMC)
- 三元组Triplet的C++代码(类)实现