赞
踩
vscode是一个文本编辑器,不是IDE(集成开发环境)。所以自己要装编译器。
win10系统;
准备:
1.vscode
2.MinGW-w64
3.LLVM
以下详解:
链接:https://code.visualstudio.com/ 目录自定义,(我在D盘application下创建了一个VScode目录,来安装它)。
安装时注意勾选以下两项:
mingw-get-setup.exe下载链接:https://osdn.net/projects/mingw/releases/
页面拉底,点击最左边中间部分的那个 mingw-get-setup.exe
LLVM下载链接:http://releases.llvm.org/download.html
点击下面Windows (64-bit).sig
下载完成后,开始安装
安装mingw。如下,选择install
之后,自定义安装路径,这个要记住,添加环境变量的时候要用到,配置vscode的launch.json文件要用到;
我自定义路径为:D:\application\MinGW。
之后,点击continue,安装完毕后,在桌面上会有一个MinGWInstall的图标。点击此图标,运行安装程序,在以下界面选择安装组件:
需要勾选的组件有:
勾选之后,选择"Installation -> Apply Changes”。可能会由于网速之类的问题报错,但先确定跳过,之后再多试几次。
接下来,添加环境变量,我是打开设置后直接搜的,懒的找了,具体操作:
点击进去后是这样:
点击“环境变量”
点击“编辑”,会出现:
点击“新建”,将MinGW中的bin文件夹路径添加进去,我的路径为 D:\application\MinGW\bin
检验是否安装成功:
cmd+r在黑框输入gcc -v 按回车;
如果显示的是版本信息,则说明安装成功,如图:
同上,但记住自定义的安装路径;
添加环境变量时:选Add LLVM to the system PATH for all users(即第二项,第三项也差不多?)
我的自定义安装目录是:D:\application\LLVM
安装完了以后可能会弹出cmd说MSVC integration install failed。这个是因为Clang默认使用的是msvc的工具链,而我们选择的工具链是MinGW。
检验是否安装成功:
cmd+r在黑框输入clang -v 按回车
显示的是版本信息,则说明安装成功;如图:
安装后,把MinGW文件夹里面的内容直接复制覆盖到LLVM文件夹里面的内容,然后就可以卸载MinGW了。
打开vscode,点击左边列排的第五个图标,打开应用商店搜索,安装拓展。
需要安装的拓展有:
Chinese (Simplified) Language Pack for Visual Studio Code
C/C++
C/C++Clang Command Adapter
Code Runner;
第一个包是中文语言包,貌似重启生效?
进入D:\application\Microsoft VS Code,在里面有两个文件夹(因为我的vscode,llvm,mingw都安装在了D盘的application目录下,并且给它们都创建了一个子目录;)如下:
第一个文件Microsoft VS Code是vscode安装所在的文件,第二个文件夹是自己新建的。进入自己新建的文件夹,
鼠标右键,选择Open with code
在打开的vscode里面,新建文件:hello.cc
#include<cstdio>
int main(){
printf("hello,vscode");
return 0;
}
按F5,在弹出来的,选择C++(GDB/LLDB)
再选择第一个(其实随意一个都行)。
在弹出来的launch.json界面,复制替换,看一下是g++.exe还是g++32.exe,注意看以下你自己的安装路径。下面也是。
// 使用 IntelliSense 了解相关属性。 // 悬停以查看现有属性的描述。 // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387 { "version": "0.2.0", "configurations": [ { "name": "(gdb) Launch", // 配置名称,将会在启动配置的下拉菜单中显示 "type": "cppdbg", // 配置类型,这里只能为cppdbg "request": "launch", // 请求配置类型,可以为launch(启动)或attach(附加) "program": "${workspaceFolder}/${fileBasenameNoExtension}.exe",// 将要进行调试的程序的路径 "args": [], // 程序调试时传递给程序的命令行参数,一般设为空即可 "stopAtEntry": false, // 设为true时程序将暂停在程序入口处,一般设置为false "cwd": "${workspaceFolder}", // 调试程序时的工作目录,一般为${workspaceFolder}即代码所在目录 "environment": [], "externalConsole": true, // 调试时是否显示控制台窗口,一般设置为true显示控制台 "MIMode": "gdb", "miDebuggerPath": "D:\\application\\MinGW\\bin\\gdb.exe", // miDebugger的路径,注意这里要与MinGw的路径对应 "preLaunchTask": "g++", // 调试会话开始前执行的任务,一般为编译程序,c++为g++, c为gcc "setupCommands": [ { "description": "Enable pretty-printing for gdb", "text": "-enable-pretty-printing", "ignoreFailures": true } ] } ] }
回到hello.cc再按F5,在弹出来的错误提示框里面,点击“配置任务”,随意选择一个;
在弹出来的tasks.json界面,复制替换,同上,看一下是g++还是g++32,注意看以下你自己的安装路径。
{ // See https://go.microsoft.com/fwlink/?LinkId=733558 // for the documentation about the tasks.json format "version": "2.0.0", "tasks": [ { "type": "shell", "label": "g++", "command": "D:\\application\\MinGW\\bin\\g++.exe", "args": [ "-g", "${file}", "-o", "${fileDirname}\\${fileBasenameNoExtension}.exe" ], "options": { "cwd": "D:\\application\\MinGW\\bin", }, "problemMatcher": [ "$gcc" ] } ] }
为了避免编译的时候出现错误代码:-1,-3。还需要加两个文件:c_cpp_properties.json和settings.json。
c_cpp_properties.json如下:复制替换,gdb.exe的路径需要自己注意以下。
{ "configurations": [ { "name": "MinGW", "intelliSenseMode": "clang-x64", "compilerPath": "D:\\application\\MinGW\\bin\\gdb.exe", "includePath": [ "${workspaceFolder}" ], "defines": [], "browse": { "path": [ "${workspaceFolder}" ], "limitSymbolsToIncludedHeaders": true, "databaseFilename": "" }, "cStandard": "c11", "cppStandard": "c++17" } ], "version": 4 }
settings.json如下:复制替换
{ "files.defaultLanguage": "cpp", // ctrl+N新建文件后默认的语言 "editor.formatOnType": true, // 输入时就进行格式化,默认触发字符较少,分号可以触发 "editor.snippetSuggestions": "top", // snippets代码优先显示补全 "code-runner.runInTerminal": true, // 设置成false会在“输出”中输出,无法输入 "code-runner.executorMap": { "c": "cd $dir && clang $fileName -o $fileNameWithoutExt.exe -Wall -g -Og -static-libgcc -fcolor-diagnostics --target=x86_64-w64-mingw -std=c11 && $dir$fileNameWithoutExt", "cpp": "cd $dir && clang++ $fileName -o $fileNameWithoutExt.exe -Wall -g -Og -static-libgcc -fcolor-diagnostics --target=x86_64-w64-mingw -std=c++17 && $dir$fileNameWithoutExt" }, // 设置code runner的命令行 "code-runner.saveFileBeforeRun": true, // run code前保存 "code-runner.preserveFocus": true, // 若为false,run code后光标会聚焦到终端上。如果需要频繁输入数据可设为false "code-runner.clearPreviousOutput": false, // 每次run code前清空属于code runner的终端消息 "C_Cpp.clang_format_sortIncludes": true, // 格式化时调整include的顺序(按字母排序) "C_Cpp.intelliSenseEngine": "Default", // 可以为Default或Tag Parser,后者较老,功能较简单。具体差别参考cpptools扩展文档 "C_Cpp.errorSquiggles": "Disabled", // 因为有clang的lint,所以关掉 "C_Cpp.autocomplete": "Disabled", // 因为有clang的补全,所以关掉 "clang.cflags": [ // 控制c语言静态检测的参数 "--target=x86_64-w64-mingw", "-std=c11", "-Wall" ], "clang.cxxflags": [ // 控制c++静态检测时的参数 "--target=x86_64-w64-mingw", "-std=c++17", "-Wall" ], "clang.completion.enable":true // 效果效果比cpptools要好 }
当然,打开自己新建的文件夹,鼠标右键,选择Open with code,在打开的vscode里面,新建文件:hello.cc
;launch.json;c_cpp_properties.json和settings.json。直接复制覆盖好像也可以?
配置好以上四个文件之后,按F5,出现以下:貌似就好了?
当然,打开自己新建的文件夹,鼠标右键,选择Open with code,在打开的vscode里面,新建文件:hello.cc;launch.json;c_cpp_properties.json和settings.json。直接复制覆盖好像也可以?
以上,小白一个,若有bug,望指出;
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。