安装 VSCode
- 因为 vscode 是支持跨平台,多语言,易配置的免费 IDE 工具,所以安装是很简的.我这里以
Linux Debian
系统为例.
插件与扩展
- 安装插件也是很简单,当然要确保电脑是可以上网的,选中 VSCode 主窗口按下组合快捷键
Ctrl+Shift+P
,就会出现下图的界面:
输入:Ext
就会有自动补全的选项,选择的项如图所示,确认之后就会在左边 Docker 出现一个查询列表,在这里输入一些关键字进行查询,没有安装的插件,会在右下端有绿色高亮显示install
安装按钮.如下图所示:
C/C++ 工程开发(CMake)
- 安装了的插件有:
- ms-vscode.cpptools
- mitaki28.vscode-clang
- twxs.cmake -
- vector-of-bool.cmake-tools -
- webfreak.debug -
- ionutvmi.path-autocomplete //路径补全 -
- christian-kohler.path-intellisense //路径补全
- vscode-fileheader // 自动创建文件头部注释信息,如:作者,版权.
创建 CMakeLists.txt
- 首先新建一个空目录,使用 VSCode 打开这个目录,同时我个人喜欢把编译目录也建在这个目录下,名为
build
.用 VSCode 新建一个名为CMakeLists.txt
的文件加入如下基本行:
1 | project(chapter3) |
创建 c_cpp_properties.json 文件
- 组合快捷键
Ctrl+Shift+P
输入C/Cpp: Edit Configurations ...
确定,就会进入一个新的名为c_cpp_properties.json
的文件编辑状态,输入如下内容:
1 | { |
创建tasks.json
文件
- 组合快捷键
Ctrl+Shift+P
输入Tasks: Configure Default Build Tasks
,或者从工具栏的Tasks->Configure Default Build Task ...
,就会出现一个下拉列表,选择Other,就会进入一个新的名为tasks.json
的文件编辑状态,填入如下内容.
1 | { |
创建程序主文件
- 新建一个名为
main.cpp
的文件如下:
1 | #include <iostream> |
创建Debug launch.json
- 组合快捷键
Ctrl+Shift+D
下拉选择Add Configurations...
->选择C++(GDB/LLDB)
,就会进入一个新的名为launch.json
的文件编辑状态,文件如下:
1 | { |
测试运行
- 现在就可以用组合快捷键
Ctrl+Shift+B
先运行cmake
再运行make
就能生成出目标文件了. - 用
F9
在源文件里下断点,F5
运行 GDB 调试. - 工程的目录结构如下:
1 | ~/opencv_chapter3$ ls -a |
- 显而易见的,在根目录下有一个
.vscode
的隐藏目录,里面有我刚创建的三个文件.
Qt
工程开发(qmake)
Qt
工程的开发与上面CMake
差不多,只是有一些插件,如:visualizerFile. 这里只贴一下工程的配置.参考链接c_cpp_properties.json
1 | { |
- launch.json
1 | { |
- tasks.json
1 | { |
Python 开发环境
- 相关的插件: - ms-python.python
创建工程
- 这里 python 创建工程与上面类似,只是安装完成这个
ms-python.python
插件,有可能需要手动(如果没有自动)用pip
安装一些依赖的 python 库,如:pylint,flake8,autopep8,yapf等,注意:pylint,flake8 开启只能二选一.
相关设置
settings.json
- 选择解释器,组合快捷键
Ctrl+Shift+P
,输入Python
会列出所有Python
相关的设置.选择Python: Selecter Interpreter
,选择之后也会在根目录下创建.vscode/settings.json
,我的配置如下:
1 | { |
tasks.json
1 | { |
安装Arduino
开发环境
Arduino 官方的 IDE 功能什么都好,开源库的下载管理,各种开发板的支持都很完善,就是欠缺编辑功能,如自动补全,函数定义跳转等功能.
Choosing The Right Arduino IDE
这里有几种其它方式的 ArduinoIDE 的实现.
这里我就选取VS Code
插件方式.它的安装方式都很简单如下:Open VS Code and press F1 or Ctrl + Shift + P to open command palette,select Install Extension and type vscode-arduino. Or launch VS Code Quick Open (Ctrl + P),paste the following command,and press enter.
1 | ext install vscode-arduino |
- 使用方法与配置,直接参照
vscode-arduino
插件的Details描述就行了.注意要正确配置arduino.path
的路径,我这里就直接指向Arduino
官方IDE
的目录,这样vscode
就可以完全找到该系统安装的库与开发板的支持了.settings.json
文件可以设置成全局用户配置,也可以设置成单独工程配置,放在工程目录.vscode
下面.
.vscode/settings.json
1 | { |
.vscode/arduino.json under the workspace.
1 | { |
.vscode/c_cpp_properties.json
1 | { |
配置AVR
开发环境
- 安装
gcc
编译环境
1 | ~$ sudo apt-get install gcc-avr avrdue binutils-avr avr-libc |
- 安装
AVR Helper Extension
- 进入到工程目录下,按
F1
,选择C/C++ :edit configurations (JSON)
,写入如下的内容:
1 | ~$ .vscode/c_cpp_properties.json |
- 按
F1
,输入avr
过滤到选择AVR Helper: Perform initial setup
,按提示输入gcc,avrdude
的绝对路径. - 继续选择
AVR Helper: Select programmer
,按提示选择正确的烧写器,与烧写参数,最终生成的内容如下:
1 | ~$ .vscode/settings.json |
与PlatformIO
集成
快速开始
在此之前需要先安装
git
客户端。查找安装platformio
这个扩展。因为网络的原因,可能在线安装需要很长的时间,安装成功后,会在左边栏(Panel)下方出现它的图标。通过
QUICK ACCESS -> PIO Home -> Platforms
安装不同的平台的支持文件,如:Atmel AVR,Atmel SAM,Espressif 32,Raspberry Pi RP2040
.通过
QUICK ACCESS -> PIO Home -> Boards
查看的各种平台板子的详细参数,如:Heltec WiFi LoRa 32 (V3),AI Thinker ESP32-CAM,ESP-32 Dev Kit C V4
通过
QUICK ACCESS -> PIO Home -> Libraries
安装不同的库支持文件,如:U8g2,Blinker,TFT_eSPI
。通过
QUICK ACCESS -> PIO Home -> Devices
创建连接本机的板子串口。
使用pio
命令行接口安装platform packages
.
1 | ~$ echo "export PATH=\$HOME/.platformio/penv/bin:\$PATH" >> ~/.bashrc |
- 或者
1 | ~$ pio pkg update -g -p espressif32 |
git 使用备忘
清除一个错误的提交.
查看commit的日志记录
1
2
3
4
5$git log --pretty=oneline --abbrev-commit
46cd867 Changed with mistake
d9f1cf5 Changed again
105fd3d Changed content
df33c8a First commit如上面所示,我想清除掉
46cd867
提交,这里需指定HEAD~2
,使用如下操作:
1 | $git rebase -i HEAD~2 |
- 如上面所示,只要把相应的
commit
记录行,删除并保存该文件既可,如果这里碰到冲突,需要解决完冲突才能继续.rebase
成功如下:
1 | $git log --pretty=oneline --abbrev-commit |
- 再使用强制
push
到远端仓库.这样本地与远端仓库都把这个错误提交清除了.
1 | ~$ git push -f |
错误处理
1 | Error loading webview: Error: Could not register service workers: InvalidStateError: Failed to register a ServiceWorker: The document is in an invalid state.. |
- 删除本地缓存文件:
rm -rf ~/.config/Code/Cache
.
总结
- 这里只是关于
VSCode
的最基本使用流程,后续会加上其它语言,其它平台的使用笔记进来.初步使用的感觉与效率都很适合我,我以前使用的Qt Creator
时间比较长,总体来讲,使用难度曲线不高.
谢谢支持
- 微信二维码:
- 联系作者