轻松玩转树莓派Pico之三、Windows+Ubuntu虚拟机模式下VSCode C语言开发环境搭建
创始人
2024-02-03 20:43:15

目录

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语言开发/交叉编译环境。

1、VSCode下载与安装

在VSCode官网Visual Studio Code - Code Editing. Redefined选择对应的操作系统进行下载,当前开发模式选择的是Windows操作系统。

安装完成后,点击桌面上的“Visual Studio Code”即可运行。

2、VSCode基础插件安装

就像大多数 IDE一样,VSCode 也有一个扩展和主题市场,包含了数以千计质量不同的插件。可在VSCode“扩展”/“Extensions”页面中选择需要的插件。

下面推荐几款C/C++开发中常用的插件:

1)Remote-SSH (Microsoft):当前开发模式下必须安装

允许您使用任何带有SSH服务器的远程计算机作为开发环境。

安装完插件之后,VSCode 就具备了连接远程主机的能力。在左下角有个符号 >< ,点击它就能选择连接哪个远程主机。连接上了之后,会重新开一个窗口,左下角也会显示。

 这里顺便提一下,微软一共发布了三款远程连接的插件:

  • Remote - Containers
  • Remote - SSH
  • Remote - WSL

名字上也很容易区分,就是支持连接容器,SSH主机,WSL子系统。

安装完成后VSCode会增加“远程资源管理器”

2)C/C++ (Microsoft):C语言开发必须安装

该插件对以下工具功能增强

  1. 跳转到定义;
  2. 代码自动补全;
  3. 查找代码引用;
  4. 列举 symbols;

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,下载成功的插件都在该目录下。

3、SSH连接与配置

上一节讲到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对应登录用户的密码

按照以上流程即可登录Ubuntu主机了。

8)在终端中切换到对应的目录,并输入code .即可打开对应目录,在资源管理器中看到该目录结构。

4、SSH免密登录

依照步骤3完成SSH连接配置后,每次打开VSCode都要输入密码,是不是觉得有些麻烦。。。接下来我们配置SSH免密登录。

1)在Windows下打开PowerShell,并输入ssh-keygen -t rsa

按照提示,一路回车到结束。

在用户目录c:\Users\用户名\.ssh(.ssh为隐藏目录)下已经生成了ida_rsa.pub文件,将该文件复制至ubuntu下。

如何复制文件到Ubuntu下?

  1. 使用samba方式,可参考:ubuntu下samba 安装与配置_杭州_燕十三的博客-CSDN博客
  2. 使用共享文件夹方式,可参考:VMware下 Ubuntu16共享Windows10文件_杭州_燕十三的博客-CSDN博客

2)在Ubuntu命令行下也执行ssh-keygen -t rsa,流程同Windows。

3)在Ubuntu下执行

cat id_rsa.pub >> ~/.ssh/authorized_keys

再次打开VSCode远程资源管理器,点击对应的host,就不需要输入密码了。

5、Pico编译

参考前文“轻松玩转树莓派Pico之一、新手上路”,搭建Pico交叉编译环境,并在终端中输入:

mkdir build && cd build
cmake .. && make -j4

完成编译

相关内容

热门资讯

埃菲尔铁塔在哪 中国仿建埃菲尔... 2019年4月26日,广西南宁市,街头惊现一座巨型山寨版埃菲尔铁塔,高约20米,白色塔身,造型逼真,...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
应用未安装解决办法 平板应用未... ---IT小技术,每天Get一个小技能!一、前言描述苹果IPad2居然不能安装怎么办?与此IPad不...
脚上的穴位图 脚面经络图对应的... 人体穴位作用图解大全更清晰直观的标注了各个人体穴位的作用,包括头部穴位图、胸部穴位图、背部穴位图、胳...
长白山自助游攻略 吉林长白山游... 昨天介绍了西坡的景点详细请看链接:一个人的旅行,据说能看到长白山天池全凭运气,您的运气如何?今日介绍...
猫咪吃了塑料袋怎么办 猫咪误食... 你知道吗?塑料袋放久了会长猫哦!要说猫咪对塑料袋的喜爱程度完完全全可以媲美纸箱家里只要一有塑料袋的响...
demo什么意思 demo版本... 618快到了,各位的小金库大概也在准备开闸放水了吧。没有小金库的,也该向老婆撒娇卖萌服个软了,一切只...
世界上最漂亮的人 世界上最漂亮... 此前在某网上,选出了全球265万颜值姣好的女性。从这些数量庞大的女性群体中,人们投票选出了心目中最美...
猫咪吃了塑料袋怎么办 猫咪误食... 你知道吗?塑料袋放久了会长猫哦!要说猫咪对塑料袋的喜爱程度完完全全可以媲美纸箱家里只要一有塑料袋的响...
埃菲尔铁塔在哪 中国仿建埃菲尔... 2019年4月26日,广西南宁市,街头惊现一座巨型山寨版埃菲尔铁塔,高约20米,白色塔身,造型逼真,...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...