vscode安装platformio插件,并提供安装失败通用解决方案..

arduino ide的开发环境不错是不错,就是编译速度太让人蛋疼了.

用惯了delphi开发,秒编译的,哪能接受那种编译速度.

编译慢还不说,测试代码要编译一次,下载又要编译一次.即使你没有修改任何代码也得全新编译一次.

效率慢到发狂.

 

 

其他开发环境

除了arduino外,还有其他开发环境.

 

 

vs (Visual Studio )

不是vscode

装个插件编译速度非常快了,而且调用arduino ide已经安装的板子,调用arduino ide安装的库.体验非常不错.

不过,vs ide不跨平台,无法在mac和linux下使用.

而且据说那个arudino的插件收费.

 

arduino ide pro

arduino官方新IDE ,目前内测.用V8引擎代替JAVA制作的IDE.目前无中文,兼容性比较差.我想用开发8266失败..因为英文能力差折腾不来,放弃了.

 

vscode

最早就有vscode 调用arduino ide库开发方案.配置比较繁琐

 

vscode+platformio

platformio是vscode一个插件,它不但有vscode版,还有ATOM编辑器版还支持其他很多编辑器.

vscode版的插件体检非常好.

装好之后,安装板子支持,直接开发.环境不用怎么配置.

 

我用一次就喜欢这个了.

它的编译速度和vs ide +插件编译速度差不多. 因为会缓存.o文件.未修改的情况下,只需要链接.o文件即可快速生成固件

它还有一个优点,就是可以同时支持编译多个固件.同时烧录(到不同板子).

而且8266/esp32还支持远程烧录(通过IP和端口).

还有spiffs文件分区烧录.

 

 

 

platformio问题

我台式装的时候非常顺利,一下就安装成功了.

然后我在笔记本试的时候,怎么都不成功.

而且后面我还更新了系统也是不成功.

 

最后研究下了,成功安装上了.

 

罪魁祸首

python.

虽然我不用python编程,但是因为各种ide配置,系统里面差不多装了7-8个python环境.

也不知道这些人怎么想的.

比如8266烧录里面有个python

esp32 里面也有一个...

一个wasm编译环境更离谱,java+python+nodejs+gcc

感觉离了python地球还不转了一样.

 

platformio安装失败解决

 

前面已经说了原因.

 

1.删除缓存

直接删文件夹

C:\Users\用户名\.platformio

C:\Users\用户名\.vscode\extensions\platformio.platformio-ide-版本号

 

 

2,取消python环境变量

,如果系统中有安装python 临时取消环境变量.

 

如何验证环境变量是否有呢?

新运行一个CMD ,输入python .如果提示"不是内部或外部命令" 就表示没有环境变量啦. (win10 如果没有设置环境,输入python会自动打开应用商店)

 

有python环境变量,是安装platformio失败的一个重要原因.  所以这里一定要取消. 哪怕临时取消,事后加回去也行.

 

3,重新安装platformio

有条件的给vscode设置代理.

一段时间等待(因为要下环境,安装大概需要几分钟,开代理的情况下会快很多,没开代理下载比较费时....)

 

 

4,安装成功?

提示你重启,那就是好了.那就不用往下看了.

 

 

5,安装失败?

如果安装过程安装,右下角弹出一个python环境问题的警告框.如下图.

右下角 那个提示 ,不要点任何按钮. VSCODE也不要关.

 

打开你platformio环境目录

C:\Users\用户名\.platformio\cache

这里有个python安装包.

 

 

 

6, 运行这个python安装包.

 

选卸载(uninstall),

卸载不了,选修复(repair),

 

如果修复也报错.

就安装(MODOFY)

安装失败就修复再安装,多试几次.直到把这个玩意安装上去.

 

安装成功后,你要干的事情,就是卸载这个玩意.

 

说起来有点讽刺,实际上卸载就够了.

只是为了清洁原来python环境的残留..

因为直接卸载失败,只能点安装,覆盖一些注册表设置,

然后卸载就是为了将一些残留文件注册表弄干净了..

 

哪怕你安装和官方包同样的python版本. PIO也不认,它非要安装解压到它自己 环境目录下.所以必须要卸载.不然你即使当时吧pio安装上去了.后面还是无法运行.

 

7,重试

卸载python后,点击vscode插件platformio安装报错的那4个按钮中的重试(Try agent..)

等待一段时间后就OJ8K了.

 

然后就彻底安逸了.

 

 

 

 

 

补充

PlatformIO: IntelliSense Index Rebuild 卡住

command 'platformio-ide.build' not found

无法编译.

 

因为新版本的pio生成.vscode文件夹和c++环境冲突了.

主要是在生成 项目目录/.vscode/c_cpp_properties.json文件的时候.

 

 

 

解决方案一:

vscode 设置--pio--Auto Rebuild Autocomplete Index (取消勾选)

重启vscode

 

解决方案二:

卡住PlatformIO: IntelliSense Index Rebuild 可以强制结束所有python进程.

 

 

先手动删除 项目目录/.vscode文件夹

 

然后pio 命令行输入

pio init --ide vscode

手动生成即可.