首先这里下载https://code.visualstudio.com/Download 安装 到桌面安装软件面板双机打开。(18.04bug多的一批!)
Vscode项目流程
- 因为Vscode是以文件夹的形式管理项目的,因此先创建文件夹hello
- hello新建main.cpp
# include <iostream>
using namespace std;
int main()
{ cout<<"hello-world!" << endl;
return 0;
}
- 更改 启动配置文件-----launch.json:
点击左侧的Debug按钮---->创建launch.json文件---->选择C++(GDB/LLDB)----->默认配置----->将自动生成launch.json文件
{
//launch.json是必须的:
//1.配置编译文件的路径
//2.设置调试时的输出端(terminal终端?外部?还是同时)
"configurations": [
{
"name": "(gdb) 启动",
"type": "cppdbg",
"request": "launch",
"program": "${workspaceFolder}/main.out",#编译输出位置
"args": [],
"stopAtEntry": false,
"cwd": "${workspaceFolder}",#根目录,宏形式
"environment": [],
"externalConsole": false,//不在外部,仅终端输出
"MIMode": "gdb",
"setupCommands": [
{
"description": "为 gdb 启用整齐打印",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
]
}
]
}
-
到这里所有的操作都满足了,直接在终端g++ -g main.cpp编译即可!(但是到这里还是不能解放用命令行编译执行的双手,于是有了task.json 懒人神器...)
-
如果不用命令行编译,还可以通过配置task.json, 将(编译、链接等)任务命令行构建成一个专门的任务名(即下文的label),即将 类似g++ -g main.cpp等g++命令 写入VScode的任务系统。
先在main.cpp文件内, 快捷键ctrl+shift+p打开命令行-----Tasks: Run task------>没有配置的任务,配置任务------>Create tasks.json file from template----->Others
{//生成的默认task.json文件
"tasks": [
{
"label": "echo",//命令任务名称(这个任务名被执行就会表现出与在命令行运行echo "hello"一样的效果)
"type": "shell",//shell命令
"command": "echo 'Hello' " //任务核心:task.json的配置就是将你想在命令行执行的任务配置在其中,
/*当你trl+shift+p调出任务命令窗口时点调试命令时,点击一下你新建的任务名(label对应的值),就会自动根据前文配置的launch.json(找到工作目录以及要编译的文件名---根据编译输出文件名反推)以及你的command处设置的命令,自动完成命令操作。
然后点击调试出的运行即可在终端输出结果*/
}
]
}
//更改默认的task.json文件,配置出一个build任务名的命令,用来解放命令行编译的双手!
{//新的task.json
"tasks": [
{
"label": "build",
"type": "shell",
"command": "g++",
"args": ["-g", "${file}", "-std=c++11", "-o", "${fileBasenameNoExtension}.out"]
}//可以通过这个文件来添加g++/gcc或者是make命令,方便我们编译程序。
]
}
/*
值得注意的是,每次更改了程序需要重新build,然后再进行调试;如果直接进行调试则运行的是上次build的结果。
作如下更改可以使得每次调试之前会自动进行build:
在launch.json文件中添加”preLaunchTask“=”build",也就是添加一个launch之前的要运行的任务,任务名为build,就是我们在tasks.json中设置的任务名。
这样,每次更改了项目文件,就可以直接点击调试运行输出新的结果(build会在运行前自动执行)
*/