【操作与配置】VSCode配置C/C++及远程开发

基础安装

MINGW

  • 进入网站下载MinGW:MinGW Distro - nuwen.net

  • 运行安装包,使其安装在你指定的位置

  • 将MinGW的bin目录添加到系统的环境变量PATH

    • 使用 win+x 选择进入“系统”

    • 点击“高级系统设置”

    • 在“系统属性:高级”窗口中,点击“环境变量”按钮

    • 在“环境变量”窗口中,在“系统变量”中点击Path

    • 在“编辑环境变量”窗口中,点击“新建”,然后输入MinGW的bin目录路径,例如C:\MinGW\bin

    • 点击“确定”保存更改。

  • 检测环境是否配置成功

    • 打开 win+r ,输入 cmd 打开命令行窗口

    • 输入gcc -v若出现相关信息则配置成功

VSCode

  • 官网下载:Visual Studio Code - Code Editing. Redefined

  • 点击左侧的扩展图标(或按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": [
        {
            // 任务名称
            "label": "C/C++: 使用 g++ 生成可执行文件",

            // 任务类型
            "type": "cppbuild",

            // 编译器路径
            "command": "g++.exe",

            // 编译参数
            "args": [
                "-fdiagnostics-color=always", // 彩色输出
                "-g",                         // 含调试信息
                "${file}",
                "-o",
                "${fileDirname}\\${fileBasenameNoExtension}.exe"
            ],

            // 当前工作目录
            "options": {
                "cwd": "${fileDirname}"
            },

            // 错误匹配器
            "problemMatcher": ["$gcc"],

            // 构建任务组,设为默认
            "group": {
                "kind": "build",
                "isDefault": true
            },

            // 附加信息
            "detail": "由调试器自动生成的 C++ 编译任务"
        }
    ]
}

launch.json

launch.json 文件定义了调试配置。你可以配置 VSCode 如何启动和调试你的应用程序,包括设置调试器路径、启动参数等。

  • 点击左上角...:运行:添加配置

  • 点击:C/C++(GDB/LLDB)

  • 点击添加配置:{}C/C++: (gdb) Windows 上的 Bash 启动

  • 在.vscode文件夹自动创建了launch.json,下面包含了完整解释:

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "C/C++: 使用 gdb 启动调试",
            "type": "cppdbg",
            "request": "launch",

            // 设置为当前 .cpp 文件对应的可执行文件
            "program": "${fileDirname}\\${fileBasenameNoExtension}.exe",

            "args": [],
            "stopAtEntry": false,
            "cwd": "${fileDirname}",
            "environment": [],
            "externalConsole": false,
            "MIMode": "gdb",

            // 推荐设置为 MinGW 的 gdb 完整路径(自动也可以)
            "miDebuggerPath": "gdb.exe",

            // 启动调试器时运行的初始化命令
            "setupCommands": [
                {
                    "description": "启用 gdb 整齐打印",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                },
                {
                    "description": "设置反汇编风格为 Intel",
                    "text": "-gdb-set disassembly-flavor intel",
                    "ignoreFailures": true
                }
            ],

            // 关键项:调试前自动构建,确保是最新的可执行文件
            "preLaunchTask": "C/C++: 使用 g++ 生成可执行文件"
        }
    ]
}

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}:表示当前打开的文件名,但不包括路径和后缀名。

你可能感兴趣的:(vscode,c语言,c++)