最近因为做导轨的原因Arduino的代码写得比较多,于是深感他默认编辑器的孱弱。于是寻求一个外部编辑器就成了理所当然的选项,搜了一下有很多用Sublime Text,Notepad++之类的教程,在VisualStudio里也挺简单装个插件就好。其实本人还挺喜欢VS Code的,但是按照关键字搜网上几乎全是在说VS,几经寻找在VisualStudioCodeArduino 找到了一套用Visual Studio Code写Arduino代码的解决方案
以下内容基本上是翻译自他的说明,由于VS Code是跨Win/Linux/Mac OS平台的,所以说明也会照顾到各个平台,也有可能基于我的实际经验做改动
1.获取“Arduino”程序的访问权
默认情况下Arduino可执行不会暴露在安装目录之外,我们需要将其暴露在外,以便VS Code可以像调用普通命令一样调用Arduino的可执行文件,以便执行编译和上传等操作。
如果你的系统已经实现了这一点,那么就忽略这一步。
在Linux下,我们假定Arduino是安装在用户的home文件夹,就像这样
~/arduino-1.6.4
切换到/usr/local/bin,创建一个指向arduino的符号链接
cd /usr/local/bin
sudo ln -s ~/arduino-1.6.4/arduino arduino
然后检查下符号链接是不是正确建立,我们切到别处运行一下arduino IDE。
cd /
arduino
如果是在windows下,把arduino的安装目录加入PATH环境变量就好。
2.将ino文件夹加入VS Code的extensions文件夹
本项目的ino文件夹包含了对ino文件的语法高亮的定义。同时也会告知VS Code将.ino文件视为C/C++处理。
本项目包含如下文件和文件夹:
drwxr-xr-x 3 fabien fabien 4096 Oct 13 09:43 ino
-rw-rw-r– 1 fabien fabien 7652 Oct 1 18:05 LICENSE
drwxrwxr-x 2 fabien fabien 4096 Oct 2 18:45 pics
-rw-rw-r– 1 fabien fabien 4605 Oct 13 09:43 README.md
-rw-rw-r– 1 fabien fabien 1997 Oct 13 08:43 tasks.json
将ino文件夹复制到用户文件夹中隐藏的.vscode/extensions文件夹中
cp -r ~/VisualStudioCodeArduino/ino ~/.vscode/extensions
如果是windows,extension文件夹应该在类似
C:\Program Files (x86)\Microsoft VS Code\resources\app
的地方找到。
3.使VS Code Task Runner支持arduino
Open the File menu and select Open Folder….
Navigate to the folder containing your arduino projects.
Bring up the command palette with Ctrl+Shift+P.
Type task in the command window.
Select Configure Task Runner. This will create a hidden folder named .vscode at the root of the arduino projects folder selected in step 2.
在VS Code中
- 打开“文件”菜单选择“打开文件夹”
- 定位到你的arduino工程文件夹,并确定
- 使用Ctrl+Shift+P调出命令面板
- 输入“task”
- 选择 Configure Task Runner,然手在下面弹出的菜单里随便选择一项,然后VS Code会在你的arduino工程文件夹里建立一个.vscode文件夹。
- 从本项目的文件夹中找到tasks.json,复制到5.中提到过的.vscode文件夹里覆盖原有文件。
- 重启VS Code
4.使用方法
- 打开一个.ino文件
- 使用Ctrl+Shift+P呼出命令面板
- 输入“task”
- 选择Run Task
选择 –verify可以编译现有代码,或者使用热键Ctrl+Shift+B
假如编译过程中出现问题,可以在编辑器的左下角看到提示
点击错误和警告的图标,可以在编辑器顶部看到问题的列表
点击相应的问题会跳转到错误位置。
或者可以使用Ctrl+Shift+P + view: show ouput 显示输出窗口。
选择–upload 或 Shift+Ctrl+T可将代码编译并上传至arduino,这一操作会默认弹出output窗口。
最后,似乎没有什么好的方法可以从外部调用Arduino默认的串口程序,自己运行一个第三方的好了~