VS Code构建C++远程开发环境IDE
1. 前言
由于工作的需要,近期准备在Linux下开发C++程序。之前一直通过CLion直接在Linux机器上开发,然而由于我的笔记本是Windows系统,要切换到Linux总是要切换屏幕和键鼠,体验不够流畅。于是希望能够有一个方法能够让我通过Windows远程Linux进行开发,同时也能拥有IDE一般的开发体验。
通过一段时间的调研,也试过不少的方法,总结如下:
- Visual Studio支持的远程Linux开发功能:Visual Studio堪称宇宙IDE,功能强大而且Windows和Linux的开发体验一脉相承。然而程序体积庞大,并且配置较复杂,启动时间较长。如果希望使用cmake来进行项目构建,Visual Studio所提供的cmake模板与常规在Linux下构建cmake项目的模板结构有些差异。使用起来不太顺手;
- CLion的远程开发功能:配置相对简单,编程体验也非常优秀(尤其是CLion自带的很多重构方式,极大提升编程效率)。然而远程开发首先要在本地构建项目,然后通过CLion将项目文件传输到目标Linux机器,然后才开始调试。不能实现直接打开远端的项目(可能我没找到) 来进行编程。因此放弃这种方式;
- 通过x11vnc来远程Linux编程:在网络不好的时候,编程体验非常糟糕;
- 通过xming+putty来启动远程CLion进行编程:同样在网络不好的时候编程体验非常差。而且不能实现本地机器和远程机器之间Copy and Paste;
- 通过ssh+tmax+vim来进行编程:对于动手能力强的同学,这是最推荐的做法。然而VIM的学习成本高,要配置出如IDE的编程体验,需要安装和配置很多插件。没有一定的动手和钻研能力,建议不要轻易尝试。(个人通过2-3周的尝试和适应,最后还是选择放弃);
- 通过VS Code进行远程开发:承袭VS Code的编程体验,流畅度和稳定度都非常良好。而且程序较轻量,打开速度很快。各种插件几乎涵盖日常编程需求。各种语言都可以统一在VS Code下面来编写(个人觉得这个特点非常优越)。美中不足就是毕竟不是传统IDE,在一些重构和自动生成的功能不如Visual Studio和CLion。不过瑕不掩瑜,这是当前个人最提倡的远程开发C++的方式;
2. 准备工作
- 操作系统:本机Win10,远程机器Ubuntu 18.04
- VSCode: 1.41
- CMake: 3.14.7
- VSCode插件:
3. 环境搭建
3.1 Remote SSH配置
根据官方文档,点击配置教程
完成配置后,VSCode已经具备常用SSH Client和所有功能:
- 可以方便的从本地机器复制黏贴文件和文本到远程机器;
- 可以通过Terminal完成所有命令行操作
- 可以远程开启服务器上的项目进行开发
- 更多功能逐步发掘中
3.2 CMake配置
利用CMake配置可以十分方便的构建C++开发项目并且进行调试、测试、安装及部署。然而CMake本身就是一个非常灵活且复杂的工具,如果想要非常仔细的了解,建议阅读CMake官方文档
下面是一些我认为比较好的参考资料: