安装 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时间比较长,总体来讲,使用难度曲线不高.
谢谢支持
- 微信二维码:
- 联系作者