【其他】OIer 五分钟速通 VSCode 配置
以下内容在 NOI Linux 上不可用
草,NOI Linux 上的 C/C++ 插件是没有被安装的,安装需要联网。
设置工作区
打开 VSCode,文件 -> 打开文件夹,然后把你写代码的目录找到并打开。
打开后差不多是这样的:
将 g++ 的目录加入环境变量
这一步其实不做也可,只要你知道你的编译器在哪。
如果你安装了 Dev-Cpp,那 g++ 的目录应该在 C:\Program Files (x86)\Dev-Cpp\MinGW64\bin,将这个目录加入环境变量即可(可以百度搜如何加)。
安装 C/C++ 插件
在 VSCode 的扩展商店搜索 C/C++ 插件并安装(NOI Linux 上的 VSCode 是已经装好这个插件了的)
配置编译器和运行选项
随便创建一个 cpp 文件,然后按 F5,选择 C++ (GDB/LLDB)
等待一下,VSCode 会报一些错,不用管。看到你的工作目录下面多出了一个 .vscode 文件夹,里面有 launch.json 和 tasks.json 文件。
打开 launch.json,然后点击 VSCode 左侧的编译与调试。
点击绿色三角旁边的候选栏,点击添加配置。
选择 C/C++ Windows 启动
这样你的 launch.json 里就应该存在了两种配置,一种是直接运行,一种是调试:
把调试配置里的 preLaunchTask 给复制到上面的配置里:
调试的配置如果用不到可以删除(实际上我也不会用)。
然后把 "program": "输入程序名称,例如 ${workspaceFolder}/a.exe", 修改成 "program": "${fileDirname}\\${fileBasenameNoExtension}.exe",,含义在后面有说。
这样 launch.json 就配置好了。可以直接用我的:
{
// 使用 IntelliSense 了解相关属性。
// 悬停以查看现有属性的描述。
// 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "(Windows) 启动",
"type": "cppvsdbg",
"request": "launch",
"program": "${fileDirname}\\${fileBasenameNoExtension}.exe",
"args": [],
"stopAtEntry": false,
"cwd": "${fileDirname}",
"environment": [],
"console": "externalTerminal",
"preLaunchTask": "C/C++: g++.exe 生成活动文件"
}
]
}
然后编辑 tasks.json:
{
"tasks": [
{
"type": "cppbuild",
"label": "C/C++: g++.exe 生成活动文件",
// 如果你把 g++ 加入了环境变量,这里也可以直接填 g++
"command": "C:\\Program Files (x86)\\Dev-Cpp\\MinGW64\\bin\\g++.exe",
// 下面是 g++ 的编译选项
"args": [
"-fdiagnostics-color=always",
"-g",
"${file}",
"-o",
"${fileDirname}\\${fileBasenameNoExtension}.exe", // ${fileDirname} 表示将会被编译的文件所在目录,${fileBasenameNoExtension} 表示去掉扩展名后的文件名
"-std=c++14", // 视情况而定
"O2"
],
"options": {
"cwd": "${fileDirname}"
},
"problemMatcher": [
"$gcc"
],
"group": {
"kind": "build",
"isDefault": true
},
"detail": "调试器生成的任务。"
}
],
"version": "2.0.0"
}
然后按 Ctrl+Shift+P,输入 C/C++ 并选择编辑配置:
这样 .vscode 文件里会多出一个 c_cpp_properties.json 文件,编辑它:
{
"configurations": [
{
"name": "Win32",
"includePath": [
"${workspaceFolder}/**"
],
"defines": [
"_DEBUG",
"UNICODE",
"_UNICODE",
"HRJ" // 可以添加编译时 define 的东西
],
"compilerPath": "C:\\Program Files (x86)\\Dev-Cpp\\MinGW64\\bin\\gcc.exe",
"cStandard": "gnu17",
"cppStandard": "gnu++14", // 视情况而定
"intelliSenseMode": "gcc-x64" // 就填这个
}
],
"version": 4
}
大功告成!回到你随便弄的 cpp 文件,按 F5,理论上会弹出黑窗口表示编译并运行成功!
然后因为安装 C/C++ 扩展的时候会自动安装 clang-format 扩展。所以你还可以设置代码自动格式化。
首先把 Format On Save 设置为 true:
这个时候只要你按 Ctrl + S 保存文件就会自动格式化了。
可以在工作区目录下建立 .clang-format 文件来进行一些自定义设置:
NamespaceIndentation: All // 缩进所有 namespace 里的内容
AllowShortBlocksOnASingleLine: true // 允许短代码块写在一行
AllowShortFunctionsOnASingleLine: All // 允许短函数写在一行
AllowShortLoopsOnASingleLine: true // 允许短循环一行
AllowShortIfStatementsOnASingleLine: AllIfsAndElse // 允许短 if else 语句写在一行
FixNamespaceComments: false // 不在 namespace 后添加形如“// namespace xxx” 的注释