Linux系统上安装VScode且配置C/C++环境

Linux系统给人的印象一直是命令行的形式,今天终于长了见识,其实Linux系统也可以像Windows系统一样,安装、使用VScode软件

  • 1 进入VScode官网下载VScode Linux安装版
  • 2 将下载到电脑上压缩包通过tcp指令传到Linux系统上
  • 3 在放置安装包的目录下通过终端命令行来进行VScode的安装
  • 4 Linux上查看VScode的安装路径
  • 5 Linux上打开VScode
  • 6 Linux上VScode插件安装
  • 7 设置Vscode在终端输出
  • 8 VScode环境配置(json文件的配置)
    • 8.1 可以直接套用的launch.json配置文件
    • 8.2 可以直接套用的tasks.json文件
  • 总结:

Linux系统上安装VScode且配置C/C++环境_第1张图片

1 进入VScode官网下载VScode Linux安装版

VScode官方下载网站:https://code.visualstudio.com/download
注:下载什么版本的安装包,要根据自己的Linux系统的版本来选择。
Linux系统上安装VScode且配置C/C++环境_第2张图片下载64位.deb的安装包:code_1.78.2-1683731010_amd64.deb
因为我的Linux是Ubuntu版本,因此下载的是.deb结尾的安装包

2 将下载到电脑上压缩包通过tcp指令传到Linux系统上

Windows与Linux系统实现文件互传的方法,见下面链接,用过的都说好【edog】
Windows与Linux系统实现文件互传(通俗易懂)https://blog.csdn.net/qq_42595610/article/details/130819486?spm=1001.2014.3001.5501
这里,我将安装包放在了/home/ubuntu/Downloads目录下(自定义即可)
Linux系统上安装VScode且配置C/C++环境_第3张图片

3 在放置安装包的目录下通过终端命令行来进行VScode的安装

Linux终端输入:sudo dpkg -i code_1.78.2-1683731010_amd64.deb
Linux系统上安装VScode且配置C/C++环境_第4张图片
显示以上结果说明安装成功

4 Linux上查看VScode的安装路径

Linux系统上完成VScode的安装之后,使用命令行的方式查看其安装路径:
Linux命令行输入:whereis code
回车之后显示:/usr/bin/code /usr/share/code,此路径便为VScode的安装路径

5 Linux上打开VScode

在Linux终端输入:code回车即可打开VScode
刚完成安装的VScode只是一个框框而已,里面没有任何拓展的插件,不支持代码提示、语法高亮、代码运行等功能

6 Linux上VScode插件安装

Linux上对于VScode的配置与Windows有很多相似之处,可以参考Windows下的安装与配置进行相应的操作,也可以先不看,后面的步骤中提到时,俺再提醒你一遍,损噻~Windows下VScode安装与配置

进入VScode插件官网
VScode插件官网:https://marketplace.visualstudio.com/search?target=VSCode&category=All%20categories&sortBy=Installs
选择想要的插件以后,点击Version History选择相应的版本进行下载
Linux系统上安装VScode且配置C/C++环境_第5张图片
Linux系统上安装VScode且配置C/C++环境_第6张图片
将所需要安装的插件全部下载到电脑上,并且放在随便在什么地方建个包放在一起,毕竟物以类聚嘛~
下图是自己的从插官网下载的一些VScode插件,为了在Linux上配置VScode运行C语言的环境
Linux系统上安装VScode且配置C/C++环境_第7张图片
插件下载好了之后上传到Linux系统上的某目录下,这里以/home/ubuntu/Downloads目录为例。
Linux系统上安装VScode且配置C/C++环境_第8张图片
上传至Linux之后进行解压
Linux系统上安装VScode且配置C/C++环境_第9张图片
加压完成之后,按照小白专用VScode从安装到入门编写_Windows_C/C++中的离线插件安装方式,选择Install from VSIX进行离线插件安装
Linux系统上安装VScode且配置C/C++环境_第10张图片
进入之后打开存放插件的目录,选中所有的插件并且选择install
Linux系统上安装VScode且配置C/C++环境_第11张图片
安装成功
Linux系统上安装VScode且配置C/C++环境_第12张图片
注 :上图没有安装CMake、CMakeTools,这两款插件在C/C++调试时会用到,按照上面步骤安装即可
到此VScode及其插件的安装就告一段落,现在我们创建一个新的C/C++工程,并且用VScode打开
在Linux下的目录中自定义一个可以存放工程的文件夹,例如:/home/ubuntu/Documents下面创建一个code_list目录,终端命令行进入该目录下,并且输入:code ./,就可以用VScode打开该目录
Linux系统上安装VScode且配置C/C++环境_第13张图片
在该工程中,写一个打印hello world的程序来对安装的正确性进行测试:

Linux系统上安装VScode且配置C/C++环境_第14张图片

7 设置Vscode在终端输出

打开右下角设置,输入code runner run in terminal,将Run In Terminal打勾即可
Linux系统上安装VScode且配置C/C++环境_第15张图片

8 VScode环境配置(json文件的配置)

经过以上battle,总算可以运行代码了。现在还有最重要的一环,就是通过配置json文件来达到可以调试代码的目的。
我们点击工具栏【运行】-【启动调试】之后点击g++生成和调试活动文件,会自动生成launch.jsontasks.json文件。
注意:launch.jsontasks.json文件会被自动放在一个名为.vscode的文件中,一起存在于工程中
Linux系统上安装VScode且配置C/C++环境_第16张图片

首先来看launch.json文件,该文件是专门用来运行和调试的配置文件。上面为我们生成的配置文件里面缺少很多配置,我们可以向里面添加配置,但也无需全部人工填写,往其中添加配置模板的方式有几种如下:

  1. 打开launch.json文件,右下角就有名为add configuration的button进行提示,直接点击此按钮,就会自动添加配置进launch.json文件中。
    Linux系统上安装VScode且配置C/C++环境_第17张图片
  2. ctrl+shift+p打开搜索窗口,直接输入add configuration也可
  3. 菜单栏【运行】-【添加配置】也可
  4. 直接在默认生成的launch.json文件中的configurations标签下的[]中输入gdb回车即可生成配置模板

不过直接生成的配置模板需要我们手动配置的地方太多,直接粘贴一段别人写好的配置拿过来解读一下岂不是更好,何乐而不为呢,是不是爱卿?
下面我们来分析一下launch.json文件
注:launch.json文件的配置没有太多需要改动的地方,只需要关注以下两个地方即可

“program”:…
“preLaunchTask”:…

Linux下C/C++对与launch.json的配置与Windows下存在较大的差异,自己注意一下,俺就不分析了哈哈哈

{
// 使用 IntelliSense 了解相关属性。
// 悬停以查看现有属性的描述。
// 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
“version”: “2.0.0”,
“configurations”: [
    {
        "name": "g++ - 生成和调试活动文件",
        //"label":"Compile",
        "type": "cppdbg",
        "request": "launch",
        "program": "${fileDirname}/${fileBasenameNoExtension}",
        "args": [],
        "stopAtEntry": false,
        "cwd": "${fileDirname}",
        "environment": [],
        "externalConsole": false,
        "MIMode": "gdb",
        "setupCommands": [
            {
                "description": "为 gdb 启用整齐打印",
                "text": "-enable-pretty-printing",
                "ignoreFailures": true
            },
            {
                "description": "将反汇编风格设置为 Intel",
                "text": "-gdb-set disassembly-flavor intel",
                "ignoreFailures": true
            }
        ],
        "preLaunchTask": "C/C++: g++ 生成活动文件",
        "miDebuggerPath": "/usr/bin/gdb"
    }
	]
}

上述配置文件:
version:配置文件的版本
configurations:配置域
name:配置文件的名字
type:调试的类型
"request": "launch":配置文件的请求类型,有launch和attach两种
program:可执行文件的位置/路径
"args": []:主函数调用时传入的参数,为空
cwd:调试时的工作目录
preLaunchTask:调试会话开始前执行的任务,一般为编译程序。与tasks.json的label相对应,一般为编译程序,c++为g++, c为gcc,采用cmake的多文件编译则为build
miDebuggerPath:调试器的路径。"miDebuggerPath": "/usr/bin/gdb"表示gdb调试的位置为: "/usr/bin/gdb"
"/usr/bin/gdb"这个gdb调试器文件目录一般不用改,因为在linux下用命令行安装gdb时默认是装在了这里

${workspaceRoot} 当前打开的文件夹的绝对路径+文件夹的名字

${workspaceFolder}当前程序的路径,.vscode路径

${file}当前打开正在编辑的文件名,包括绝对路径,文件名,文件后缀名

${fileBasename} 当前打开的文件名+后缀名,不包括路径

${fileBasenameNoExtension} 当前打开的文件的文件名,不包括路径和后缀名

${fileDirname} 当前打开的文件所在的绝对路径,不包括文件名

${fileExtname} 当前打开的文件的后缀名

8.1 可以直接套用的launch.json配置文件

对于简单的单个文件的调试其实有自动生成的json配置也够了,在Cmake产生可执行文件的调试过程中,就需要一些稍稍复杂的配置了

{
    "version": "2.0.0",
    "configurations": [
        {
            "name": "(gdb) 启动",
            "type": "cppdbg",
            "request": "launch",
           "program": "${workspaceFolder}/build/XXXX",
             //此处代码的含义为:加载CMake产生的可执行文件的绝对地址,build是指我们在CMake编译的时候通过会建一个
             //build目录来存放编译过程中产生的一些文件,包括产生的可执行文件, XXXX代表CMake编译产生的可执行文件
		     //当然在上面那个launch.json中因此可执行文件就在当前目录下,所以用自动生成的路径就可以
            "args": [],
            "stopAtEntry": false,
            "cwd": "${workspaceFolder}",
            "environment": [],
            "externalConsole": false,
            "MIMode": "gdb",
            "setupCommands": [
                {
                    "description": "为 gdb 启用整齐打印",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ],
            "preLaunchTask":"build",
            //调试CMake产生的可执行文件的时候选择使用build,其实单个.c文件也可以
            "miDebuggerPath": "/usr/bin/gdb"
            //这个gdb调试器文件目录一般是不用改的
            //因为你在linux下用命令行安装gdb时默认是装在这里的
        }
    ]
}

tasks.json文件:

{
	"tasks":[
		{
			"type":"cppbuild",
			"lable":"C/C++: g++ 生成活动文件",
			"command":"usr/bin/g++",
			"args":[
				  "-g",
      			  "${file}", 
                  "-o", 
        		  "${fileDirname}/${fileBasenameNoExtension}", 
       		      "-std=c++11",    //使用c++11
       		      "-lpthread"      //链接thread库
			],
			"options":{
				"cwd":"${fileDirname}"
			},
			 "problemMatcher": {
			 	"$gcc"
			 },
			 "group":{
			 	"kind":"build",
			 	"isDefault":true
			 },
			 "detail":"调试器生成的任务"
		}
	],
	"version":"2.0.0"
}

8.2 可以直接套用的tasks.json文件

tasks.json配置文件一般不需要进行大改,直接粘过来就可以用
tasks.json配置文件的存在可以保证一个功能:
我们调试过程中如果更改了代码,这个时候我们不需要去重新make最新的可执行文件,

{    
    "version": "2.0.0",
        "options": {
            "cwd": "${workspaceFolder}/build"
             //这里写的是build文件的绝对路径,build是我们在mcake可执行文件的时候所mkdir的新目录
             //这里放的是绝对路径
            //即:当前你的项目文件夹下的build文件夹的路径
        },
        "tasks": [
            {
                "type": "shell",
                "label": "cmake",
                "command": "cmake",
                "args": [
                    ".."
                ],
            },
            {
                "label": "make",
                "group": {
                    "kind": "build",
                    "isDefault": true
                },
                "command": "make",
                "args": [
    
                ],
            },
            {
                "label": "Build",
                //这里的build文件与lauch.json文件中的"preLaunchTask"中的"build" 相同
                "dependsOrder": "sequence",//按照一列来执行
                "dependsOn":[
                    "cmake",
                    "make"
                ]
            }
        ],
    
    }

tasks.json中的label要与launch.json中的preLaunchTask相同

配置成功演示:
Linux系统上安装VScode且配置C/C++环境_第18张图片

总结:

1、launch.json 和task.json 可以自动生成,不需要自己全部手敲
2、Linux和Windows上对于json文件的配置并非完全相同,需要注意
3、以上json配置目前来讲单个文件的调试是没有问题的,但是多文件的调试,以及CMake产生的可执行文件的调试不知道行不行喔,我还没试过呢
4、Linux上VScode所生成的可执行文件是带*文件,而且文件名是绿色的,而Windows上生成的可执行文件是.exe文件,不能将*结尾的可执行文件在Windows上面去调试的
5、完结撒花,后会有期~

附上几篇对于launch.json、tasksjson讲解非常好的文章共参考:
VScode 调试教程 tasks.json和launch.json的设置(超详细)
launch.json和tasks.json的配置
VSCode在linux服务器下launch.json和tasks.json等文件配置

Linux系统上CMake可执行文件的编译见下一篇

你可能感兴趣的:(Linux篇,VScode安装配置使用篇,linux,vscode,c语言)