Linux系统下配置VScode

您所在的位置:网站首页 vscode返回下一步 Linux系统下配置VScode

Linux系统下配置VScode

2023-04-12 01:26| 来源: 网络整理| 查看: 265

利用VsCode创建一个你自己的工程

写在前面:

关于在Linux系统下的代码编辑器,大家应该都会听到一个词,那就是VsCode,坦白讲,这个软件的资源在我还是大二的时候,也就是一年前,还基本上在CSDN上找不到什么教程,B站上面的貌似也不是很多,而且大多数都是讲Windows下面的使用教程,其实坦白来说在Linux下面用的比较多的还有一个东西,那就是CMake,但是即使是用CMake,也十分有必要学会使用VsCode,因为你总不能老是在记事本上面编辑或者查看你的代码吧~~

之前十分痛苦的配置了一次OpenCV&C++的开发环境,后来一直不愿意再碰VsCode,但是最近不断的接触到了PCL库,realsense SDK,而且需要自己写一个工程,加之后来电脑系统重装,从Ubuntu18.04升级到了Ubuntu20.04,于是便从头开始理了一次使用VsCode创建一个工程并且配置的具体方法,在此做个总结。

不得不说,VsCode配置完确实好用,后续本人会再复习复习CMake的知识,然后实现VsCode+CMake的开发环境,然后再给VsCode加上Markdown和git等其他的插件,现在一想就简直美滋滋~~

前言

开发平台:Ubuntu18.04 & Ubuntu20.04 VsCode

配置实例:OpenCV & C++

第一步:创建你的工程文件夹

以一套识别图片轮廓的代码为例,你可以考虑创建一个总文件夹命名为str2dots,然后考虑到对于一个识别图片轮廓点的工程来说,包含要素一般有:待识别的图片,包含识别后的轮廓点坐标的文件,源代码,使用的字体(也可没有),此外还可以写一份.md说明文件。本人工程树示例如下:

创建完自己的文件夹之后,在主文件夹打开终端,输入 code .(code和 .之间有个空格),即可通过VsCode打开自己的工程文件夹

第二步:安装C++拓展

打开后的VsCode的界面如下:

是不是感觉单调的一批???没错,这时候的VsCode跟一个记事本的功能差不多,只能查看或者修改代码,其他的事情它啥也干不了。安装C++拓展的步骤为:点击最左侧最下面的图标(或者Ctrl+shift+X),在搜索框输入C++,选中第一个就行,然后点击安装。这样C++的拓展就安装好了,你要是觉得这个拓展不好用,想换成其他拓展,你也可以随时禁用或卸载它。这个拓展应该是包含了C++中的标准库和一些编译功能,所以你在调用比如时并不用像配置第三方库那样去操作。

最后给自己挖一个坑,我也不知道以后会不会填,那就是:这种拓展应该可以理解为给VsCode叠buff,就是给它不断的加新功能,所以按理来说,如果我们想在工程里面添加一个第三方库的时候,应该并不需要添加拓展,但是本人之前配置ROS的开发环境的时候还是按照网上的教程安装了一个ROS的拓展,对于ROS这个东西,它应该貌似不是一个单纯的第三方库,因为它确实还有一堆东西,关于这个问题,以后我如果还会再配置ROS的开发环境的时候再来填吧~~

第三步:生成并编辑配置文件

这里的配置文件一般有四个:launch.json; task.json; setting.json; c_cpp_properties.json。我们一个一个来说。setting.json文件基本用不到,我们就不讲了。

在你写了一个Hell World的代码之后,这时候你是不能直接调试的,因为你还没有配置上面我所说的那几个文件,我们可以直接点击运行->启动调试,这时候会出现下面的界面:我们选中:C/C++:g++生成和调试活动文件,然后这时候你会发现,你的程序顺利调试了。这时候你再去看看文件夹目录,你发现除了生成的二进制的可知性文件,还多了一个名为.vscode的文件夹,里面放着一个名为task.json的文件,没错,这个文件夹和它里面的.json文件就是我们配置VsCode的核心!!!

其实到了上面那一步,我们可以使用大一学的C++的各种东西了,只不过在我们的项目开发中,我们要自己加进去很多东西,所以我们这时候就要配置其他的几个.json文件,我们首先先把它们几个生成出来:生成launch.json文件:运行->添加配置,这时候生成的launch.json文件基本上可以说是一个空文件,因为你并没有给它加东西,它主要是用来作运行和调试时的配置,比如,在调试程序的过程中是否调出终端(虽然在VsCode的下方也可以看终端的输出);生成c_cpp_properties.json文件:Ctrl+shift+p打开搜索框,然后输入c++选择C/C++:编辑配置(JSON),其实这个文件的功能跟在设置里面添加includepath是一样的,如果直接修改了这个includepath,也可以不用这个.json文件;

至此,我们的.vscode文件夹里面放了三个.json的文件:

第四步:开始配置第三方库,以OpenCV为例

我们在test.cpp中写一点关于opencv的东西:

这时候我们看到那个关于 #include 是红色的欸,这是为什么呢??其实是因为你的includepath里面没有找到这个叫做opencv2的文件,这时候我们打开c_cpp_properties.json文件,然后在includepath里面添加opencv所在的地址,以我的电脑为例,我装的是opencv4,位置为:/usr/include/opencv4,然后我把/usr/include/opencv4加进去,因为在include文件夹下面就放着我的opencv2的包。或者你也可以直接把鼠标放到标红的地方,然后点击快速修复,它同样会更新includepath的内容(真良心嗨嗨嗨)。

不过这个时候呢,你去点击那个 #include 还是会有问题,不过已经和之前的那个报错不一样了,如果这时候你启动调试,它会报错为找不到这个头文件,这是因为你这时候还没有配置task.json文件。我们在"args"[]后面开始添加东西:"-I"标明头文件所在路径(就是你在includepath里面添加的路径); "-L"标明库文件所在路径; "-l"标明具体的库的名称。下面我们具体来说一说这个内容究竟该怎么添加。

关于头文件所在路径"-I":这个路径就是你在includepath里面添加的路径,在这里可以直接复制粘贴;关于库文件所在路径"-L":这个一般是在lib文件夹里面,可能是/usr/lib也可能是/usr/local/lib也可能是lib里面的某个文件夹里面,具体方式可以直接在/usr(因为你装的东西都在这)文件夹里面搜索,比如我要搜索opencv的库,我就搜索“libopencv”,然后我就知道这些库文件究竟是在哪个文件夹下面,示例如图:你要找的是.a或者.so的文件,我的就放在了/usr/lib/x86_64-linux-gnu里面,所以在task.json里面就这么写:"-L","/usr/lib/x86_64-linux-gnu";关于具体的库的名字"-l":我们前面不是已经搜到具体有哪些库了嘛,所以你只需要把这些库全加进来就ok了,不过写法要该一该,不能直接libopencvxxx,你要去掉那个lib,你应该写成如:"-l","opencv_dnn"。配置好的task.json文件如下:

至此,你点击启动调试,你滴代码就成功运行了!!

再给自己挖一个坑,关于那个具体库的名字,也就是"-l"那一项,你会发现你可以搜到同名称但是不同后缀的文件,比如libopencv_dnn.so和libopencv_dnn.a,虽然到时候并不会考虑后缀的问题,但是这是怎么回事呢??有的还会在后面标上不同的版本号,比如librealsense2.so.2.50和librealsense2.so.5.53.1,坦白讲,我确实还没去搜索这样有什么区别,或者会有什么要注意的点,因为现在很晚了,而且我想睡觉了~~~~

写在最后:

在这里,你可以好好的感谢一下我了,因为网上的教程,骂的就是你CSDN!!真的相互抄袭,而且错的一堆,我已经被这个玩意恶心了两年了,现在终于算是不再被它继续折磨了!!

后面我再学一手CMake



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3