栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

Ubuntu下配置VS Code C++ 环境

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Ubuntu下配置VS Code C++ 环境

参考:

    https://www.cnblogs.com/foxer-z/p/12520904.htmlhttps://segmentfault.com/a/1190000020155987

VS Code是一个文本编辑器,类似于editplus,在上面有很多插件,在无法使用正版Visual Studio的情况下是一个比较常见的C++开发替代选择,但请注意,他并不能完全等同于IDE。

1. 安装VS Code

进入到VS Code的官网: https://code.visualstudio.com/,选择deb格式的文件下载安装即可.

2. 安装cpptools插件

打开VS Code后,按crtl + shift + P调出命令行,然后搜索C++,安装微软自己开发的那个:

同样可以安装C++ Intellisense插件,用于自动补全代码:

3. 安装C++的编译器/库

执行命令:

sudo apt install gcc

安装完成以后在terminal窗口运行gcc -v 确认是否安装成功;

4. 安装GNU编译工具和GDB调试工具

命令如下:

sudo apt-get update
sudo apt-get install build-essential gdb

通过定位g++和gdb来核实安装是否成功。如果文件名没有在whereis命令中返回,试试再次运行更新命令。

whereis g++
whereis gdb
5.添加配置

在终端里切换到你的helloworld工程目录,用code .打开VS Code:

cd $HOME/projects/helloworld
code .

code . 命令会在当前目录打开VS code,这个目录就是你的“工作空间”。随着教程的进行,你将看到在工作目录的.vscode目录中会创建两个文件:

tasks.json(编译说明)
launch.json(调试设置)

注意:VS Code只能打开源码所在的文件夹,而不是直接打开源码文件,否则下面将无法进行!

    添加源代码文件:
    在文件管理标题栏上选择 新文件 按钮,创建一个 helloworld.cpp 文件:
    添加helloworld源代码:
#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)中,注意你刚添加的文件是怎样显示的。

你也可以打开自动保存功能,自动保存文件的改动,在 文件 主菜单中点击 自动保存 。

到这里,你如果参考网上的教程,可能会感觉到有点怪异,因为我们以前使用IDE的时候,直接找两个按钮或者菜单,编译、运行/调试,就可以跑起来了,但那是IDE。
VS code 只是一个文本编辑器,在VS code里面,需要通过插件来完成编译、运行的流程。所以需要额外增加两个配置文件来完成这个事情,这两个配置文件要放在一个叫.vscode目录下面,你可以在你的workspace目录下创建这个目录。

    编译helloworld.cpp:
    接下来,你要创建 tasks.json 文件,告诉VS code怎样编译程序。
    在Cpp文件下使用快捷键ctrl+shift+P打开搜索框,输入>tasks,选择配置任务,使用模板文件创建tasks.json,选择others:

    将上述tasks.json文件改为:
{
  // See https://go.microsoft.com/fwlink/?linkId=733558
  // for the documentation about the tasks.json format
  "version": "2.0.0",
  "tasks": [
    {
      "label": "build",
      "type": "shell",
      "command": "g++",
      "isShellCommand": true,
      "args": ["-g", "${file}", "-std=c++11", "-o", "${filebasenameNoExtension}.out"],
      "showOutput": "always"
    }
  ]
}

command选项指明要运行的程序,这个例子中是g++。 args数组指明要传给g++的命令行参数,这些参数的顺序必须符合编译器要求。label选项的值会在任务列表中显示,你可以任性地修改它。
这项工作是调用g++编译目标文件( f i l e ) , 并 在 当 前 目 录 ( {file}),并在当前目录( file),并在当前目录({fileDirname})创建一个与目标文件同名的可执行文件,此教程中的例子创建helloworld.out文件。

在终端主菜单中选择运行任务,build --> gcc ,运行定义在tasks.json文件的编译任务:

任务开始时,源代码编辑框下面会出现终端面板。编译完成后,终端会输出编译是否成功的相关信息。编译成功的样子像这样:

执行ls命令可以看到可执行文件helloworld.out,在终端输入./helloworld.out运行helloworld:

    调试helloworld.cpp:
    接下来,你要创建一个launch.json文件来配置VS code,让它在你按F5时调用GDB调试程序。
    在主菜单选择运行 > 添加配置… 然后选择 C++(GDB/LLDB)。
    将上述launch.json文件改为:
{
  // Use IntelliSense to learn about possible attributes.
  // Hover to view descriptions of existing attributes.
  // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
  "version": "0.2.0",
  "configurations": [
    {
      "name": "(gdb) Launch",
      "type": "cppdbg",
      "request": "launch",
      "program": "${workspaceFolder}/${filebasenameNoExtension}.out",
      "args": [],
      "stopAtEntry": false,
      "cwd": "${workspaceFolder}",
      "environment": [],
      "externalConsole": true,
      "MIMode": "gdb",
      "setupCommands": [
        {
          "description": "Enable pretty-printing for gdb",
          "text": "-enable-pretty-printing",
          "ignoreFailures": true
        },
        {
          "description": "Set Disassembly Flavor to Intel",
          "text": "-gdb-set disassembly-flavor intel",
          "ignoreFailures": true
        }
      ]
    }
  ]
}

program选项指定要调试的程序。这里设置的是helloworld.cpp生成的目标文件helloworld.out。

这里默认,C++扩展不会源代码中添加任何断点,stopAtEntry的值为false。将stopAtEntry设为true会在开始调试时停在main函数位置。

6. 开始调试会话

返回helloworld.cpp,这是目前的目标文件。

按F5或主菜单选择运行 > 启动调试。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/702680.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号