ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

VSCode的C/C++扩展功能

2022-02-21 20:34:35  阅读:429  来源: 互联网

标签:tasks VSCode 扩展 helloworld ++ json C++ file


VSCode的C/C++扩展功能


Reference:

  1. Visual Studio Code的C/C++扩展功能
  2. Using C++ on Linux in VS Code

在这里插入图片描述

1. 在 Linux 上 使用 C++

1.1 创建 Hello World

从 terminal 窗口,创建一个叫做 projects 的空文件夹来存储 VS Code 项目。然后创建一个叫做 helloworld 的子文件夹,导航到里面后,输入最下面的命令打开 VS Code:

mkdir projects
cd projects
mkdir helloworld
cd helloworld
code .

code . 命令打开当前文件夹下的 VS Code,也就是 ”workspace“。在该 workspace 内的 .vscode 文件夹下会创建三个文件:

  • tasks.json (compiler build 设置)
  • launch.json (debugger 设置)
  • c_cpp_properties.json (compiler path and IntelliSense 设置)

创建文件 helloworld.cpp 并复制以下源代码:

#include <iostream>
#include <vector>
#include <string>

using namespace std;

int main()
{
    vector<string> msg {"Hello", "C++", "World", "from", "VS Code", "and the C++ extension!"};

    for (const string& word : msg){
        cout << word << " ";
    }
    cout << endl;
}

1.2 探索 IntelliSense

helloworld.cpp 文件中,将鼠标悬停在 vectorstring 上查看类型信息。在申明 msg 变量后面,开始输入 msg.。这时看到一个显示所有成员函数的补全列表,以及一个显示 msg 对象类型信息的窗口:
在这里插入图片描述Tab 键插入选中的成员。然后,当添加开括号时,会看到关于函数所需参数的信息。

1.3 构造 helloworld.cpp

这时需要创建一个 tasks.json 文件来告诉 VS Code 如何构造(搭建)该程序。这个文件会唤醒 g++ 编译器,并从源代码创建一个可执行文件

在编辑器中打开 helloworld.cpp 非常重要,因为下一步将使用上下文编辑器中的活跃文件来创建下一步的构建任务:
在主菜单中,选择 Terminal > Configure Default Build Task。下拉菜单显示了C++编译器的各种预定义构建任务,这里选择 C/C++: g++ build active file
在这里插入图片描述这里会在 .vscode 文件夹内创建一个 tasks.json 文件并在编译器内打开它。这时的 tasks.json 文件看起来应该跟下面的 JSON 相似:

{
  "version": "2.0.0",
  "tasks": [
    {
      "type": "shell",
      "label": "g++ build active file",
      "command": "/usr/bin/g++",
      "args": ["-g", "${file}", "-o", "${fileDirname}/${fileBasenameNoExtension}"],
      "options": {
        "cwd": "/usr/bin"
      },
      "problemMatcher": ["$gcc"],
      "group": {
        "kind": "build",
        "isDefault": true
      }
    }
  ]
}

可以在variables reference了解更多关于 task.json 变量。

command 设置指定要运行的程序;在本例中,使用的是 g++。args 数组指定将传递给 g++ 的命令行参数。这些参数必须按照编译器期望的顺序指定。

这个文件告诉 g++ 获取 active file(${file}),编译它,并在当前目录(${fileDirname})中创建一个与 active file 同名但没有扩展名(${fileBasenameNoExtension})(比如.exe等)的可执行文件,从而得到示例中的 helloworld

label 的值是会在 tasks list 中看到的,可以给它随便命名。

group 对象中的 "isDefault": true 值指定该任务将在按下 Ctrl+Shift+B 时运行。这个属性只是为了方便;如果你设置为 false,仍然可以从终端菜单的 Tasks: Run Build Task 运行它。

1.3.1 运行 build

  1. 回到 helloworld.cpp。现在的任务是搭建 active file,这时想要搭建 helloworld.cpp
  2. 为了运行定义在 tasks.json 内的 build task,按下 Ctrl+Shift+B 或者从主菜单 Terminal 选择 Run Build Task
  3. 当任务开始时,会看到集成终端面板出现在源代码编辑器下面。任务完成后,终端显示编译器的输出,指示构建是成功还是失败。对于一个成功的 g++ 构建,输出如下所示:
    在这里插入图片描述
  4. 使用 + 按钮创建一个新的终端,将会拥有一个运行默认 shell 的终端,并将 helloworld 文件夹作为工作目录。运行 ls,应该看到可执行文件 helloworld(没有文件扩展名)。
  5. 可以通过输入 ./helloworld 在终端运行 helloworld

1.3.2 修改 tasks.json

也可以修改 tasks.json 文件,用 "${workspaceFolder}/*.cpp" 替代 ${file} 来构建多个 C++ 文件。也可以通过用硬编码的文件名(例如helloworld.out)替换 "${fileDirname}/${fileBasenameNoExtension}" 来修改输出文件名。

二级目录

三级目录

标签:tasks,VSCode,扩展,helloworld,++,json,C++,file
来源: https://blog.csdn.net/qq_28087491/article/details/123049870

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有