目录
VS code(Visual Studio Code)是一款微软旗下的简单易用的代码编辑器,用过Devc++,codeblock,功能都挺强大,只不过可扩展性和颜值略逊一筹。与前辈Visual Studio系列相比VScode使用简单,扩展性强,可玩性高,挺适合使用,不论是小项目还是大项目,速度和效率都挺高。
鉴于官网Docs内容太多,对于只需要简单上手来说,过于冗余复杂,因此挑一些重点内容记录下,方便快速上手使用。
如果只想使用VS Code编辑代码,并且可以对代码进行调试,最终生成可执行文件运行,那么只需要三样东西:
- VS Code软件
- VS Code中的C++/Python插件
- C++的编译器(g++,clang等)/Python解释器(python)
软件安装
C++编译器
C++是编译语言,编写好的代码需要编译器进行编译后生成可执行文件才能执行。Windows上平台我推荐使用minGW-w64,其中包含GCC C++编译器(g++)和GDB调试器,已经满足我们在VS Code中一般调试和编译了。进入minGW-w64的下载页面,Windows选择如下版本MingW-W64-builds,下载到本地安装即可。
安装完成后找到本地安装路径下的g++.exe所在目录,将该路径添加到系统PATH中。
然后,桌面右键我的电脑->属性->高级系统设置->环境变量->PATH,在PATH中新建,将刚才的路径粘贴进去保存即可。然后重新打开cmd,输入g++ --version,有对应版本输出就表示安装配置正确。
Python解释器
Python是解释型语言,所以编写好的代码经过解释器解释后就可以直接运行。Python解释器直接上官网下载安装即可。下载安装完后,类似上面步骤将python.exe添加到系统的PATH中即可。在cmd中输入python --version,若安装配置正确,则可以看到版本号输出。
VS Code以及相关插件
VS Code软件
直接上官网下载最新对应平台的版本即可。
需要明确的一点:VS Code只是代码编辑器,本质上和Notepad++,没太大区别,只是可扩展性丰富了很多,所以下载安装完后,不能直接编译运行代码文件。
C/C++插件
VS Code安装完成后,在插件市场里搜索C++:
将第一和第二两个插件安装上,其作用主要是C/C++的的一些智能感知以及编译调试的相关配置。
Python插件
在VS Code的插件市场中搜索Python,安装即可
该插件提供代码智能感知,代码格式化,代码纠错等功能,对于编写python代码非常有用。
代码编译和调试
C/C++代码编译
如上操作完成后,我们在VS Code中新增C++的hello world代码。
开始编译:菜单栏中选择终端(Terminal)->运行生成任务(Run Build Task)
接着选择g++.exe build active file,这里的active file就是指当前窗口正在打开的helloworld.cpp。
点击之后,若代码无误,正常会在同一个目录下生成一个exe可执行文件,在VS Code下的集成终端窗口中,可以直接运行该文件。
C/C++代码调试
在需要单步调试复杂代码时,可以使用VS Code自带的Debug进行调试,直接按F5启动。如果是首次调试,则会要求配置launch.json文件,VS Code会自动帮你创建该文件。
打开launch.json后,将配置中的**"stopAtEntry"修改为true**,这样就可以在调试刚进入程序的时候就停下来等待操作。若有打断点,此步骤可忽略。
配置完成后,再次回到helloworld.cpp,按F5启动调试,
到这里就可以按需求进行单步或多步进行调试了,可以自行加断点调试,调试的结果可以在左侧的侧边栏或者下方的调试控制台查看。若想获得DevC++中那种结果在单独的控制台中输出的效果,可以打开前面的launch.json,将其中的externalConsole改为true即可。
Python代码运行
python是解释型语言,所以运行比较简单。新增hello.py文件,左下角选择对应安装好的python解释器,右上角点击三角形就可以直接运行python代码了。
选择好后:
除了按右上角的三角形外,也可以在需要运行的python文件中右键直接运行。
Python代码调试
python代码调试方式同C++,按F5后调试,可进行打断点和单步调试,在此不再赘述。
配置文件说明
到目前为止,VS Code中会涉及用到以下三个主要配置文件,一般在当前项目的根目录中有一个**.vscode**目录,单独放以下三个文件,下面单独说明下,可以对其中某些项进行修改定制。
c_cpp_properties.json
安装完C/C++插件后,可以配置C/C++编译器路径,编译平台等信息,以及C++的智能感知模式等。配置的方式有两种,一种是UI界面配置,另一种直接配置文件修改。可以直接打开或创建该文件(需在.vscode目录中)。可以在VS Code中打开命令面板(菜单栏->查看->命令面板,或者直接快捷键Ctrl+Shift+P),打开后输入C/C++:Edit configurations就看到这两种配置方式了。
{
"configurations": [
{
"name": "Win32",
"includePath": [
"${workspaceFolder}/**"
],
"defines": [
"_DEBUG",
"UNICODE",
"_UNICODE"
],
// 编译器路径
"compilerPath": "C:\\Program Files (x86)\\mingw-w64\\i686-8.1.0-posix-dwarf-rt_v6-rev0\\mingw32\\bin\\gcc.exe",
"cStandard": "gnu17",
"cppStandard": "gnu++14",
"intelliSenseMode": "windows-gcc-x86"
}
],
"version": 4
}
launch.json
该文件是调试程序时依赖的配置文件,调试器的设置,以及调试过程显示等。
{
// 使用 IntelliSense 了解相关属性。
// 悬停以查看现有属性的描述。
// 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
// 配置名称,将会在启动配置的下拉菜单中显示
"name": "g++.exe - 生成和调试活动文件",
// 配置类型,这里只能为cppdbg
"type": "cppdbg",
// 请求配置类型,可以为launch(启动)或attach(附加)
"request": "launch",
// 将要进行调试的程序的路径
"program": "${fileDirname}\\${fileBasenameNoExtension}.exe",
// 程序调试时传递给程序的命令行参数,一般设为空即可
"args": [],
// 设为true时程序将暂停在程序入口处,一般设置为false
"stopAtEntry": true,
// 调试程序时的工作目录,一般为${workspaceRoot}即代码所在目录
"cwd": "${fileDirname}",
"environment": [],
// 调试时是否显示控制台窗口,一般设置为true显示控制台
"externalConsole": false,
"MIMode": "gdb",
// miDebugger的路径,注意这里要与MinGw的路径对应
"miDebuggerPath": "C:\\Program Files (x86)\\mingw-w64\\i686-8.1.0-posix-dwarf-rt_v6-rev0\\mingw32\\bin\\gdb.exe",
"setupCommands": [
{
"description": "为 gdb 启用整齐打印",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
],
// 调试会话开始前执行的任务,一般为编译程序,c++为g++, c为gcc
"preLaunchTask": "C/C++: g++.exe 生成活动文件"
}
]
}
tasks.json
该文件是运行编译程序生成可执行文件的任务配置,主要包括编译选项设置以及生成目录和文件名等。
{
"tasks": [
{
// 任务执行的类型,也可以是shell等其他
"type": "cppbuild",
// 任务的名字,在下拉选择的时候可以看到
"label": "C/C++: g++.exe 生成活动文件",
// 具体的编译器
"command": "C:\\Program Files (x86)\\mingw-w64\\i686-8.1.0-posix-dwarf-rt_v6-rev0\\mingw32\\bin\\g++.exe",
// 传递给编译器的参数,比如指定使用C++17标准等可以在这里修改
"args": [
"-fdiagnostics-color=always",
"-g",
"${file}",
"-o",
"${fileDirname}\\${fileBasenameNoExtension}.exe"
],
"options": {
"cwd": "${fileDirname}"
},
// 使用gcc捕捉错误
"problemMatcher": [
"$gcc"
],
// 任务分组
"group": {
"kind": "build",
"isDefault": true
},
"detail": "调试器生成的任务。"
}
],
"version": "2.0.0"
}
VS Code中的编辑小技巧和快捷键
vscode 基础
- 快速打开文件Ctrl+P
- 跳到指定行,使用“:100”
- 跳到文件中的元素行,使用“@symbol name”
- 快速打开选项,使用“?”
- 找到定义:Shift+F12,或者Alt+F12
- 括号匹配颜色设置:editor.bracketPairColorization.enabled设为True
交互式编辑器
- 方框选择(Box Selection):Shift+Option+鼠标(Shift+Alt+鼠标)
- 多个光标:Option+Cmd+UpArrow(Ctrl+Alt+UpArrow,或者Alt+鼠标)
- 所有相同字段多个光标:鼠标选中字段名,按Shift+Cmd+L(Shift+Ctrl+L)
行动作
- 复制整行:Shift+Alt+DownArrow/UpArrow
- 整行移动:Alt+UpArrow/DownArrow
- 整行删除:Ctrl+Shift+K
重命名
- F2重命名所有变量
格式化
- 格式化所有文件:Shift+Alt+F
- 格式化所选:Ctrl+K,Ctrl+F
快捷键
- 命令面板:Ctrl+Shift+P
- 拆分编辑器:Ctrl+\,关闭窗口:Ctrl+W