VS Code连接Linux服务器编译CMake项目,生成在Linux上运行的程序

需求背景

在文章《Visual Studio连接Linux服务器编译CMake项目,生成在Linux上运行的程序》中已经讲述了如何使用 Visual Studio 2019 连接远程 Linux 服务器来编译 CMake 项目,本以为这样就可以了安心开发了,但是使用起来太艰难了,每次修改完 CMakeLists.txt 文件时,又或是编译代码时,慢的要死,甚至到了一小段时间里都卡死的程度。

使用这种方式编译代码时,有两个步骤,

  1. 将代码上传到远程Linux服务器上
  2. 远程控制Linux系统进行代码编译

然而就是这小小的两步,硬是将我的电脑卡死,但是同样的代码,直接在 Linux 上编译都是秒秒钟的事。由于我习惯了Windows,直接在 Linux 系统上编辑调试代码不太习惯,效率很低,而且也不会gdb调试,时间上实在消耗不起,所以才另寻出路看看。当然应该也和我自身的笔记本电脑配置(我的配置也还行)有关,但这不是关键因素,于是就看上了vs code,几次实验下来,效果很棒,所以分享出来。

本文基于的开发环境说明

  • window系统:Windows 10 企业版 64位操作系统
  • Linux系统:BigCloud Enterprise Linux 7.8 (Core)
  • Visual Studio Code:版本: 1.72.2 (user setup)

VS Code连接远程Linux

vs code 使用起来很顺的一个原因就是,远程连接Linux系统后,是相当于直接在Linux系统上操作,并不需要像使用 Visual Studio 2019 那样,执行代码上传远程控制编译的步骤。

1. 安装远程连接的 SSH 插件

首先想要远程连接服务器,需要使用 SSH 协议,所以我们首先需要安装Remote-SSH插件。
VS Code连接Linux服务器编译CMake项目,生成在Linux上运行的程序_第1张图片

2. 配置远程连接

VS Code连接Linux服务器编译CMake项目,生成在Linux上运行的程序_第2张图片
接着弹出如下对话框:
VS Code连接Linux服务器编译CMake项目,生成在Linux上运行的程序_第3张图片
添加后效果如下:
VS Code连接Linux服务器编译CMake项目,生成在Linux上运行的程序_第4张图片

3. 连接远程Linux服务器

这里选择 在当前窗口中进行远程连接
VS Code连接Linux服务器编译CMake项目,生成在Linux上运行的程序_第5张图片
之后弹出如下窗口:选择远程服务器的系统类型
VS Code连接Linux服务器编译CMake项目,生成在Linux上运行的程序_第6张图片
接着让输入远程连接的用户密码。
VS Code连接Linux服务器编译CMake项目,生成在Linux上运行的程序_第7张图片
输入密码后,就可以远程连接上了,右下角的提示就会开始在远程Linux服务器上安装一个VS Code Server,安装好就可以使用了。

在远程Linux上创建CMake项目

1. 在VS Code上打开远程Linux上的目录

VS Code连接Linux服务器编译CMake项目,生成在Linux上运行的程序_第8张图片
VS Code连接Linux服务器编译CMake项目,生成在Linux上运行的程序_第9张图片
我这里选择了目录:/home/code/test/点击确定后,会再次提示输入密码,还是登录用户名的密码,然后会提示:是否信任此文件夹中的文件的作者?,点击信任就可以了

2. 创建CMake项目

如下所示:
VS Code连接Linux服务器编译CMake项目,生成在Linux上运行的程序_第10张图片
这里我直接在 VS Code 中创建了两个文件:main.cppCMakeLists.txt 两个文件。CMakeLists.txt 文件是 CMake 项目的配置文件,必须有,且文件名的大小写必须这样。

在 main.cpp 中的代码如下:

#include 

int main()
{
	int a = 1;
	int b = 2;
	int c = a + b;
	std::cout << "a + b = " << c << std::endl;
	return 0;
}

在 CMakeLists.txt 中的代码如下:

cmake_minimum_required(VERSION 3.1)

PROJECT(OutAdd)

add_executable(OutAdd main.cpp})

关于 CMakeLists.txt 中的命令的意思,请参考文章:《CMake项目中神器:CMakeLists.txt》

这里还要安装一个 CMake Tools 的插件,专门用来在 VS Code 中支持编辑 CMakeLists.txt 文件的。
VS Code连接Linux服务器编译CMake项目,生成在Linux上运行的程序_第11张图片

3. 代码编译

执行 CMake 编译

VS Code连接Linux服务器编译CMake项目,生成在Linux上运行的程序_第12张图片

执行代码编译

VS Code连接Linux服务器编译CMake项目,生成在Linux上运行的程序_第13张图片
到这里代码就编译成功了。可以先在Linux上运行看看。

[root@localhost test]# ls
build  CMakeLists.txt  main.cpp
[root@localhost test]# cd build/
[root@localhost build]# ls
build.ninja  CMakeCache.txt  CMakeFiles  cmake_install.cmake  compile_commands.json  OutAdd
[root@localhost build]# ./OutAdd 
a + b = 3
[root@localhost build]# 

上面测试,程序正常运行,结果是对的。也就是说我们用 VS Code 编译 CMake 项目成功了。

代码调试

既然代码编译好了,那我们就应该调试一下。VS Code 上调试C++代码,需要安装 C/C++ Runner 插件。
VS Code连接Linux服务器编译CMake项目,生成在Linux上运行的程序_第14张图片
安装好之后,直接设置断点,然后按 F5 键。
选择 C++(GDB/LLDB) 调试工具
VS Code连接Linux服务器编译CMake项目,生成在Linux上运行的程序_第15张图片
选择 编译器 ,这里选择 g++
VS Code连接Linux服务器编译CMake项目,生成在Linux上运行的程序_第16张图片
然后就可以进行调试了。
VS Code连接Linux服务器编译CMake项目,生成在Linux上运行的程序_第17张图片
VS Code 上面编译 CMake 项目和直接在 Linux 上一样快速。且编辑代码是在 Windows上,符合我的习惯。且调试简单。完美解决我的问题。

断开远程Linux连接

如果想断开远程Linux连接,可以点击左下角显示远程IP的绿色的区域,然后在弹出的对话框中,选择最后一项【 关闭远程连接 】即可,这样就可以打开Windows本地的项目目录了。
VS Code连接Linux服务器编译CMake项目,生成在Linux上运行的程序_第18张图片


好了,VS Code连接Linux服务器编译CMake项目,生成在Linux上运行的程序就分享到这里,感谢翻阅,希望帮到你。

你可能感兴趣的:(Linux札记,linux,运维,unix)