基础安装
MINGW
-
进入网站下载MinGW:MinGW Distro - nuwen.net
-
运行安装包,使其安装在你指定的位置
-
将MinGW的
bin
目录添加到系统的环境变量PATH
中-
使用 win+x 选择进入“系统”
-
点击“高级系统设置”
-
在“系统属性:高级”窗口中,点击“环境变量”按钮
-
在“环境变量”窗口中,在“系统变量”中点击Path
-
在“编辑环境变量”窗口中,点击“新建”,然后输入MinGW的
bin
目录路径,例如C:\MinGW\bin
。 -
点击“确定”保存更改。
-
-
检测环境是否配置成功
-
打开 win+r ,输入 cmd 打开命令行窗口
-
输入
gcc -v
若出现相关信息则配置成功
-
VSCode
-
点击左侧的扩展图标(或按
Ctrl+Shift+X
)进入插件市场,在搜索栏中输入下文并安装拓展:-
Chinese:VSCode汉化
-
C/C++:智能提示,调试,代码打包
-
-
重启VSCode使插件生效
VSCode的Json配置
tasks.json
tasks.json
文件定义了 VSCode 中的构建任务。你可以配置 VSCode 在构建(编译)你的项目时应执行的操作。例如,使用 g++
编译器编译 C++ 代码。
-
点击左上角
...
:终端:配置任务 -
点击:C/C++:g++.exe 生成活动文件
-
在.vscode文件夹自动创建了tasks.json,下面包含了完整解释:
{ // 任务配置文件的版本 "version": "2.0.0", // 任务数组 "tasks": [ { // 任务类型 // 表示这是一个用于C++构建的任务。 "type": "cppbuild", // 任务标签 // 在任务运行时显示的标签。 "label": "C/C++: g++.exe 生成活动文件", // 要运行的命令 // 编译时要调用的g++编译器的路径。 "command": "D:\\CPPcode\\MinGW\\bin\\g++.exe", // 命令行参数 // 编译时传递给g++的参数。 "args": [ // 使诊断信息总是彩色显示 "-fdiagnostics-color=always", // 生成调试信息 "-g", // 当前文件 "${file}", // 输出文件路径和名称 "-o", "${fileDirname}\\${fileBasenameNoExtension}.exe" ], // 命令选项 // 设置命令运行时的选项。 "options": { // 当前工作目录 // 编译时的当前工作目录。 "cwd": "${fileDirname}" }, // 问题匹配器 // 用于解析编译器输出中的错误和警告。 "problemMatcher": [ "$gcc" ], // 任务组 // 将任务归类到“build”组中。 "group": "build", // 详细信息 // 任务的详细描述信息。 "detail": "编译器: D:\\CPPcode\\MinGW\\bin\\g++.exe" } ] }
launch.json
launch.json
文件定义了调试配置。你可以配置 VSCode 如何启动和调试你的应用程序,包括设置调试器路径、启动参数等。
-
点击左上角
...
:运行:添加配置 -
点击:C/C++(GDB/LLDB)
-
点击添加配置:{}C/C++: (gdb) Windows 上的 Bash 启动
-
在.vscode文件夹自动创建了launch.json,下面包含了完整解释:
{ // 版本信息 // 这个文件的版本。用于定义调试器配置文件的版本号。 "version": "0.2.0", // 调试器配置数组 "configurations": [{ // 配置名称 // 在VS Code中显示的调试配置名称。 "name": "(gdb) Windows 上的 Bash 启动", // 调试器类型 // 表明这是一个用于C++的调试配置。 "type": "cppdbg", // 请求类型 // 表明这是一个启动调试请求。 "request": "launch", // 可执行程序路径 // 要调试的程序的路径,可以使用变量。 "program": "输入程序名称,例如 ${workspaceFolder}/${fileBasenameNoExtension}.exe", // 命令行参数 // 调试时传递给程序的命令行参数。 "args": [], // 是否在程序入口处停止 // 如果为true,调试器将在程序入口处停止。 "stopAtEntry": false, // 当前工作目录 // 调试时的当前工作目录。 "cwd": "${fileDirname}", // 环境变量 // 在调试过程中要设置的环境变量。 "environment": [], // 是否使用外部控制台 // 如果为true,调试过程中会打开一个外部控制台。 "externalConsole": false, // 管道传输设置 // 配置如何通过管道传输调试命令。 "pipeTransport": { // 调试器路径 // 在Bash中gdb的路径。 "debuggerPath": "/usr/bin/gdb", // 管道程序 // 用于启动Bash的程序路径。 "pipeProgram": "${env:windir}\\system32\\bash.exe", // 管道参数 // 传递给Bash的参数。 "pipeArgs": ["-c"], // 管道当前工作目录 // 运行Bash的当前工作目录。 "pipeCwd": "" }, // 设置命令 // 调试器启动时要运行的一系列命令。 "setupCommands": [ { // 命令描述 // 该命令的简短描述。 "description": "为 gdb 启用整齐打印", // 要执行的命令 // gdb 命令文本。 "text": "-enable-pretty-printing", // 忽略失败 // 如果命令失败是否继续。 "ignoreFailures": true }, { // 命令描述 // 该命令的简短描述。 "description": "将反汇编风格设置为 Intel", // 要执行的命令 // gdb 命令文本。 "text": "-gdb-set disassembly-flavor intel", // 忽略失败 // 如果命令失败是否继续。 "ignoreFailures": true } ] }] }
c_cpp_properties.json
c_cpp_properties.json是一个配置文件,用于指定C/C++项目的编译器和头文件路径等相关设置。
-
按
Ctrl+Shift+P
调出命令面板 -
输入
C/C++: Edit Configurations (UI)
并选择它使用此编辑器编辑在基础c_cpp_properties.json文件中定义的 IntelliSense 设置。在此编辑器中所做的更改仅适用于所选的配置。要一次编辑多个配置,请转到 c_cpp_properties.json
-
在.vscode文件夹自动创建了c_cpp_properties.json,下面包含了完整解释:
{ // 配置数组 // 包含所有代码配置的数组。 "configurations": [ { // 配置名称 // 此配置的名称为“Win32”。 "name": "Win32", // 包含路径 // 编译时要包含的路径,可以使用通配符。 "includePath": [ "${workspaceFolder}/**" ], // 预处理器定义 // 编译时定义的预处理器宏。 "defines": [ "_DEBUG", // 调试模式 "UNICODE", // 使用 Unicode 字符集 "_UNICODE" // 使用 Unicode 字符集 ], // 编译器路径 // 指定编译器的路径。 "compilerPath": "D:\\CPPcode\\MinGW\\bin\\gcc.exe", // C标准 // 指定要使用的C语言标准。 "cStandard": "c17", // C++标准 // 指定要使用的C++语言标准。 "cppStandard": "gnu++17", // IntelliSense 模式 // 指定IntelliSense的模式。 "intelliSenseMode": "windows-gcc-x64" } ], // 配置文件版本 // 此配置文件的版本。 "version": 4 }
服务器G++环境配置
在乌班图云服务器上安装 C++ 开发环境,包括编译器(如 g++
)和调试器(如 gdb
):
-
更新系统软件包列表:
sudo apt update
-
安装 C++ 编译器和调试器:
sudo apt install g++ gdb
配置 VSCode 远程开发环境
在本地的 VSCode 中安装远程开发插件:Remote - SSH
新建链接,输入用户名及ip地址
ssh username@ip
出现问题尝试清理 C:\Users\username\.ssh 下的所有文件内容
在你输入密码登录之后,VS Code 服务器会自动安装到 /root/.vscode-server
目录。
**如果你需要进行 C++ 的开发和调试:**在VSCode中执行与上文相同的操作。
其他设置
代码格式化
-
打开 VS Code 设置(可以通过
Ctrl + ,
快捷键)。 -
搜索
C_Cpp.clang_format_fallbackStyle
或者C_Cpp.clang_format_style
。 -
修改
C_Cpp.clang_format_fallbackStyle
为{ BasedOnStyle: Google, IndentWidth: 4, ColumnLimit: 0, AllowShortFunctionsOnASingleLine: All, BreakBeforeBraces: Attach }
。下附解释:BasedOnStyle: Google:基于 Google 的代码风格。Google 的代码风格强调简洁和一致性,使用 2 个空格缩进,函数定义和控制结构的
{
放在同一行。IndentWidth: 4:设置缩进宽度为 4 个空格。尽管 Google 风格通常使用 2 个空格,这里覆盖了默认设置,使用 4 个空格缩进。
ColumnLimit: 0:将列限制设置为 0,表示没有列限制。通常,Google 风格限制为 80 列或 100 列,这里取消了这一限制,代码行可以任意长度。
AllowShortFunctionsOnASingleLine: All:允许短函数在一行内定义。这个设置允许所有短函数(包括内联函数)在同一行内定义。
BreakBeforeBraces: Attach:在
{
前不换行。函数、类、和其他控制结构的{
放在声明的同一行,而不是另起一行。
终端
在 VS Code 中,你可以通过更改设置来使用不同的终端,而不是默认的 PowerShell。以下是如何更改 VS Code 中的默认终端步骤:
-
你可以使用快捷键
Ctrl + ,
打开设置,或者通过菜单栏选择File
>Preferences
>Settings
。 -
在设置搜索栏中输入
terminal
,找到Terminal › Integrated › Default Profile
。 -
你可以选择你想要的默认终端,如
Command Prompt (cmd)
,Git Bash
,WSL
或者其他已安装的终端。 -
在设置中,点击
Edit in settings.json
,然后在打开的settings.json
文件中添加或修改如下配置:
{
"terminal.integrated.defaultProfile.windows": "Command Prompt"
}
变量
这段内容详细解释了在使用某些开发工具(如Visual Studio Code、某些构建系统或脚本工具)时,可能会遇到的几种变量或占位符的含义。这些变量通常用于配置文件中,以便动态地引用工作区、文件或目录的路径,从而增加配置的灵活性和可移植性。下面是对每个变量含义的详细解释:
${workspaceFolder}
:表示当前工作区(workspace)文件夹的绝对路径。工作区通常指的是你当前正在开发的项目所在的顶级目录。
${fileDirname}
:表示当前打开的文件的目录(文件夹)的绝对路径,但不包括文件名本身。
${workspaceFolder}/**
:这不仅仅是一个路径,它还表示一个模式,用于递归搜索当前工作区文件夹及其所有子目录。
${workspaceRootFolderName}
:表示当前工作区文件夹的名称(不包括路径)。
${file}
:表示当前打开文件的完整路径,包括文件名和后缀名。
${relativeFile}
:这通常用于以相对路径形式表示当前打开的文件。不过,根据你提供的解释,它看起来更像是基于当前上下文(可能是当前工作区目录或特定目录)的相对路径。但请注意,具体行为可能取决于使用的工具或环境。
${fileBasename}
:表示当前打开的文件名(包括后缀名),但不包括路径。
${fileBasenameNoExtension}
:表示当前打开的文件名,但不包括路径和后缀名。