VS Code 配置 Microsoft C++ 工作环境

在本教程中, 您将 VS Code 配置为在Windows 上使用 Microsoft Visual C++ 编译器和调试器. 配置VS Code 之后, 将在VS Code 中编译和调试一个简单的 Hello World 程序.

先决条件

为成功完成本次配置过程, 您必须执行以下操作:

  1. 安装 VS Code.

  2. 安装 C/C++ extension for VS Code. 您可以通过在"扩展"视图中搜索."c++"来安装c/c++扩展(Ctrl + Shift + X).

    VS Code 配置 Microsoft C++ 工作环境_第1张图片

  1. 安装 Microsoft Visual C++(MSVC)编译工具链.
    如果您使用的是Visual Studio的最新版本,请从Windows的“开始”菜单中打开"Visual Studio安装程序",并验证是否选中了C ++工作负载。如果尚未安装,请选中该复选框,然后在安装程序中单击“修改”按钮. 您也可以仅安装C ++ Build Tools,而无需完整安装Visual Studio IDE.在 "Visual Studio 下载" 页面中,向下滚动,直到在 "所有下载" 部分下看到"Visual Studio工具",然后选择"Build Tools for Visual Studio"的下载.

build-tools-for-vs.png

这将启动Visual Studio安装程序,该程序将弹出一个对话框,显示可用的Visual Studio Build Tools工作负载. 检查C ++生成工具的工作量,然后选择"安装".

VS Code 配置 Microsoft C++ 工作环境_第2张图片

检查您的Microsoft Visual C++ 安装

要从命令行或VS Code使用MSVC,必须从Visual Studio的开发人员命令提示符运行. 普通的Shell(例如PowerShell,Bash或Windows命令提示符)没有设置必要的路径环境变量. 启动 Visual Studio 开发人员命令提示符, 从开始菜单下的快速搜索区域, 搜索 “vs 2017” 或 "开发人员" 就可以找到开发人员命令提示符.

VS Code 配置 Microsoft C++ 工作环境_第3张图片

 

您可以通过键入“ cl”来测试您是否正确安装了C ++编译器cl.exe,并且应该看到版权消息以及其版本和基本用法说明.

VS Code 配置 Microsoft C++ 工作环境_第4张图片

创建 Hello World 工程

在 E:\Project 目录下, 创建 helloword 子目录,  进入 helloworld 目录, 然后可以通过  VS Code (code) 命令启动

VS Code 配置 Microsoft C++ 工作环境_第5张图片

"code”命令在当前工作文件夹中打开VS Code,这将成为您的“工作区”。在阅读本教程的过程中,您将看到在工作区的.vscode文件夹中创建的三个文件.

  • Task.json (构建说明)

  • Launch.json (调试器设置)

  • C_cpp_properties.json ( 编译器路径和IntelliSense设置)

添加源代码文件

在文件资源管理器标题栏中,选择"新建文件"按钮,并将文件命名为helloworld.cpp.

VS Code 配置 Microsoft C++ 工作环境_第6张图片

增加 helloworld.cpp 源代码如下:

#include 

#include 

#include 

using namespace std;



int main()

{

    vector msg { "Hello", "C++", "World", "from", "VS Code", "and the C++ extension!"};

    for (const string& word :msg)

    {

        cout << word << "";

        cout << endl;

    }

}

现在按 Ctrl + S 保存文件. 请注意,刚添加的文件如何显示在VS Code侧栏中的文件资源管理器视图(Ctrl + Shift + E)中.

VS Code 配置 Microsoft C++ 工作环境_第7张图片

在左边的工具蓝中, 还有其他的一些功能, 如搜索、源码控制, 和调试. 在后面的章节中您就可以看到调试视图. 您可以在VS Code 用户界面文档 中找到有关其他视图的更多信息.

探索智能感知

在新的helloworld.cpp文件中,将鼠标悬停在矢量或字符串上以查看类型信息。在声明msg变量之后,开始键入msg. 就像调用成员函数时一样。您应该立即看到一个显示所有成员函数的完成列表,以及一个显示msg对象的类型信息的窗口.

VS Code 配置 Microsoft C++ 工作环境_第8张图片

您可以按Tab键插入选定的成员. 然后,当您添加左括号时,您将看到有关该函数所需的任何参数的信息.

编译helloworld.cpp

接下来,您将创建一个task.json文件,以告诉VS Code如何构建(编译)程序.该任务将调用Microsoft C ++编译器以基于源代码创建可执行文件.

从主菜单中,选择“终端配置默认生成任务”. 在下拉列表中,将显示任务下拉列表,其中列出了C ++编译器的各种预定义构建任务.选择cl.exe构建活动文件,它将构建当前在编辑器中显示(活动)的文件.

build-active-file.png

这将在.vscode文件夹中创建一个task.json文件,并在编辑器中将其打开.

您的新task.json文件应类似于以下JSON

{

  "version": "2.0.0",

  "tasks": [

    {

      "type": "shell",

      "label": "cl.exe build active file",

      "command": "cl.exe",

      "args": [

        "/Zi",

        "/EHsc",

        "/Fe:",

        "${fileDirname}\\${fileBasenameNoExtension}.exe",

        "${file}"

      ],

      "problemMatcher": ["$gcc"],

      "group": {

        "kind": "build",

        "isDefault": true

      }

    }

  ]

}

command 设置指定要运行的程序, 在这种情况下,它就是"cl.exe". Args数组指定将传递给cl.exe的命令行参数. 必须按照编译器期望的顺序指定这些参数. 该任务告诉C ++编译器获取活动文件($ {file}),对其进行编译,然后在当前目录($ {fileDirname})中创建一个与活动文件同名的可执行文件(/ Fe:switch). 但带有.exe扩展名($ {fileBasenameNoExtension} .exe),对于我们的示例将生成helloworld.exe. 标签值就是您将在任务列表中看到的值;您可以随意命名. 组对象中的“ isDefault”:true值指定当您按Ctrl + Shift + B时将运行此任务。此属性仅出于方便起见;如果将其设置为false,您仍然可以使用“任务:运行构建任务”从“终端”菜单中运行它.

运行构建

  1. 返回helloworld.cpp, 准备构建 helloworld.cpp.

  2. 按 Ctrl + Shift + B 或从终端主菜单中选择 "任务:运行构建任务".

  3. 任务启动时, 可以看到 "集成终端" 面板出现在源代码编辑器下方. 任务完成后, 终端将显示编译器的输出, 指示构建成狗还是失败. 对于成功的 C++ 构建, 输出看起来像这样.

    VS Code 配置 Microsoft C++ 工作环境_第9张图片

  4. 使用+按钮创建一个新终端,您将拥有一个新终端(运行PowerShell),其中helloworld文件夹为工作目录. 运行ls,现在您应该看到可执行文件helloworld.exe以及各种中间C ++输出和调试文件(helloworld.obj,helloworld.pdb).

    VS Code 配置 Microsoft C++ 工作环境_第10张图片

  5. 您可以通过输入 .\helloworld.exe 在终端中运行helloworld.

修改task.json

您可以使用"$ {workspaceFolder}\*.cpp"之类的参数而不是$ {file}来修改task.json以构建多个C ++文件。这将在当前文件夹中生成所有.cpp文件。您也可以通过将"$ {fileDirname}\$ {fileBasenameNoExtension} .exe"替换为硬编码的文件名(例如" $ {workspaceFolder}\myProgram.exe")来修改输出文件名.

调试helloworld.cpp

接下来,您将创建一个launch.json文件,以配置VS Code以在您按F5调试程序时启动Microsoft C ++调试器.从主菜单中,选择"调试添加配置...",然后选择" C ++(Windows)".

build-and-debug-active-file.png

VS Code创建一个launch.json文件,在编辑器中将其打开,然后生成并运行 "helloworld" .

{

  "version": "0.2.0",

  "configurations": [

    {

      "name": "cl.exe build and debug active file",

      "type": "cppvsdbg",

      "request": "launch",

      "program": "${fileDirname}\\${fileBasenameNoExtension}.exe",

      "args": [],

      "stopAtEntry": false,

      "cwd": "${workspaceFolder}",

      "environment": [],

      "externalConsole": false,

      "preLaunchTask": "cl.exe build active file"

    }

  ]

}

程序设置指定要调试的程序。在这里,它被设置为活动文件文件夹$ {fileDirname}和活动文件名,扩展名为.exe $ {fileBasenameNoExtension} .exe,如果helloworld.cpp是活动文件,则文件名为helloworld.exe. 默认情况下,C ++扩展不会在源代码中添加任何断点,并且stopAtEntry值设置为false。将stopAtEntry值更改为true,以使调试器在启动调试时在main方法上停止.

开始调试会话

  1. 返回 helloworld.cpp, 使其成为活动文件.

  2. 按F5或从主菜单中选择"调试开始调试".在开始浏览源代码之前,让我们花一点时间注意用户界面中的一些更改.

  • 集成终端出现在源代码编辑器的底部.在"调试输出"选项卡中,您将看到指示调试器已启动并正在运行的输出.

  • 编辑器突出显示main方法中的第一条语句. 这是C ++扩展自动为您设置的断点.

    VS Code 配置 Microsoft C++ 工作环境_第11张图片

  • 左侧的 "调试" 视图显示调试信息.您将在本教程的后面看到一个示例.

  • 在代码编辑器的顶部, 将显示一个调试控制面板. 可以按住窗口边缘并移动倒合适的地方.

逐步执行代码

现在,您准备开始逐步执行代码.

单击或按调试控制面板中的“跳过”图标,直到突出显示for(const string&word:msg)语句.

step-over-button.png

从左至右按钮功能分别为 Continue 、Step Over 、Step Into、Step Out 、Restart 、Stop 调试功能. 这几个功能的作用是 继续执行、跳出当前块、进入当前块、重启调试器、停止调试器.

观察变量

有时,您可能希望在程序执行时跟踪变量的值. 您可以通过在变量上设置监视来做到这一点.

  1. 在观察窗口中, 通过按 "+" 按钮,输入待观察的变量名, 当代码运行到变量名所在的块时, 可以观察该值.

    VS Code 配置 Microsoft C++ 工作环境_第12张图片

  2. 当断点停留在某个块时, 可以在鼠标移动倒特定的变量上, 可以快速的观察该变量的值.

    VS Code 配置 Microsoft C++ 工作环境_第13张图片

        

C/C++ 配置

如果您想进一步控制C / C ++扩展,可以创建一个c_cpp_properties.json文件,该文件可让您更改设置,例如编译器的路径,包含路径,C ++标准(默认为C ++ 17). 您可以通过运行命令C / C ++:从命令面板(Ctrl + Shift + P)编辑配置(UI)来查看C / C ++配置UI.

VS Code 配置 Microsoft C++ 工作环境_第14张图片

这将打开“ C / C ++配置”页面. 当您在此处进行更改时,VS Code会将其写入.vscode文件夹中名为c_cpp_properties.json的文件中.

VS Code 配置 Microsoft C++ 工作环境_第15张图片

Visual Studio Code将这些设置放在.vscode\c_cpp_properties.json中. 如果直接打开该文件,则它应如下所示.


{

  "configurations": [

    {

      "name": "Win32",

      "includePath": ["${workspaceFolder}/**"],

      "defines": ["_DEBUG", "UNICODE", "_UNICODE"],

      "windowsSdkVersion": "10.0.18362.0",

      "compilerPath": "C:/Program Files (x86)/Microsoft Visual Studio/2019/BuildTools/VC/Tools/MSVC/14.24.28314/bin/Hostx64/x64/cl.exe",

      "cStandard": "c11",

      "cppStandard": "c++17",

      "intelliSenseMode": "msvc-x64"

    }

  ],

  "version": 4

}

仅当程序包含不在工作空间或标准库路径中的头文件时,才需要添加到"包含路径数组"设置中.

重用C++配置

VS Code现在已配置为使用Microsoft C ++编译器. 该配置适用于当前工作空间。要重用配置,只需将JSON文件复制到新项目文件夹(工作区)中的.vscode文件夹,然后根据需要更改源文件和可执行文件的名称.

 

你可能感兴趣的:(开发工具,编辑器,c++,windows,visual,studio,code,c语言)