目录
1、VSCode下载与安装
2、VSCode基础插件安装
3、SSH连接与配置
4、SSH免密登录
5、Pico编译
工欲善其事,必先利其器。之前的介绍的Pico流程都是通过命令行编译,没有进行更深入的介绍,本文将介绍Pico的VSCode-C语言开发环境搭建与配置。
VS Code全称Visual Studio Code,是微软研发的一款免费、开源的轻量级代码编辑器,支持语法高亮、智能代码补全、自定义热键、括号匹配、代码片段、代码对比等特性。软件跨平台,可在 Win、Mac 以及 Linux桌面上安装运行。内置了对 JavaScript、TypeScript 和 Node.js 的支持,同时可通过插件支持包括C/C++、C#、Java、Python、PHP、Go等几乎所有编程语言。
嵌入式开发进行交叉编译,较多采用GCC编译器,从事嵌入式开发又无法完全脱离Windows系统,所以较多开发方式采用的是Windows主机+VMware安装Ubuntu虚拟机的开发方式。在Windows下编辑代码,在Linux下编译代码。
本文通过VSCode提供的一系列插件,搭建C语言开发/交叉编译环境。
在VSCode官网Visual Studio Code - Code Editing. Redefined选择对应的操作系统进行下载,当前开发模式选择的是Windows操作系统。
安装完成后,点击桌面上的“Visual Studio Code”即可运行。
就像大多数 IDE一样,VSCode 也有一个扩展和主题市场,包含了数以千计质量不同的插件。可在VSCode“扩展”/“Extensions”页面中选择需要的插件。
下面推荐几款C/C++开发中常用的插件:
1)Remote-SSH (Microsoft):当前开发模式下必须安装
允许您使用任何带有SSH服务器的远程计算机作为开发环境。
安装完插件之后,VSCode 就具备了连接远程主机的能力。在左下角有个符号 >< ,点击它就能选择连接哪个远程主机。连接上了之后,会重新开一个窗口,左下角也会显示。
这里顺便提一下,微软一共发布了三款远程连接的插件:
名字上也很容易区分,就是支持连接容器,SSH主机,WSL子系统。
安装完成后VSCode会增加“远程资源管理器”
2)C/C++ (Microsoft):C语言开发必须安装
该插件对以下工具功能增强
3)CMake(twxs):在VSCode上支持CMake语法,打开/编写CMakeLists文件关键字提示
4)CMake Tools (Microsoft):CMake编译工具条
5)Python(Microsoft):在VSCode上支持Python语法及调试
6)Serial Monitor (Microsoft):串口收发插件,可在VSCode全流程搞定嵌入式开发、调试
这几个插件基本上都是Microsoft官方出的,质量有保障。其他插件可以根据个人开发习惯安装(我没安装其他的。。。装多了会导致VSCode每次打开加载时间过长),这几个插件基本可以满足日常C、Python开发需要。
VSCode插件默认的安装位置是C:\Users\用户名\.vscode\extensions,下载成功的插件都在该目录下。
上一节讲到VSCode插件Remote-SSH可支持连接SSH主机,这样就可以通过安装在Windows下的VSCode,使用SSH连接至Linux主机,进行各种Linux命令操作。
VSCode安装完成后,需要进行以下配置:
1)Ubuntu下安装ssh-server及编译工具,输入命令:
sudo apt install -y net-tools openssh-server
2)获取Ubuntu的ip地址,输入命令:
ifconfig
记录下对应的IP地址
3)打开VSCode远程资源管理器,在“REMOTE”->“SSH”一栏中点击“+”
4)输入Ubuntu的IP,并按回车键进入下一步
5)选择c:\Users\用户名\.ssh\config作为ssh配置文件,
6)依次输入如下内容并保存:
Host:Ubuntu对应IP地址
HostName:可自定义为Host对应的名字,如Ubuntu-20.04
User:Ubuntu对应的用户登录名
7)连接远程主机
按照以上流程即可登录Ubuntu主机了。
8)在终端中切换到对应的目录,并输入code .即可打开对应目录,在资源管理器中看到该目录结构。
依照步骤3完成SSH连接配置后,每次打开VSCode都要输入密码,是不是觉得有些麻烦。。。接下来我们配置SSH免密登录。
1)在Windows下打开PowerShell,并输入ssh-keygen -t rsa
按照提示,一路回车到结束。
在用户目录c:\Users\用户名\.ssh(.ssh为隐藏目录)下已经生成了ida_rsa.pub文件,将该文件复制至ubuntu下。
如何复制文件到Ubuntu下?
2)在Ubuntu命令行下也执行ssh-keygen -t rsa,流程同Windows。
3)在Ubuntu下执行
cat id_rsa.pub >> ~/.ssh/authorized_keys
再次打开VSCode远程资源管理器,点击对应的host,就不需要输入密码了。
参考前文“轻松玩转树莓派Pico之一、新手上路”,搭建Pico交叉编译环境,并在终端中输入:
mkdir build && cd build
cmake .. && make -j4
完成编译