本项目是一个完整的搭建Linux下可用的“微信开发者工具”的脚本和工具集, 用于在Linux下的GNOME桌面上搭建可以持续更新和使用的“微信开发者工具”。
当前工具可以在Linux上构筑最新版1.03.2009140(截止时间2020年9月28日),支持CLI模式,现已经有Docker支持(仅用于测试)。 另现在已经可以直接在设置界面里面修改字体,手工输入字体名称就可以。
可以在本项目的发布中,寻找已经构筑好了的.tar.gz
包(发布里也有度盘链接),下载解压后,运行其中的bin/wechat-devtools
即可运行。
注:gitee上原来我也想放发布包的,但是文件太大了,附件最大只允许100M,而且总体积不能超过1G。所以目前暂时先只放github,如果大家发现下载速度慢的话,可以考虑科学上网或者度盘链接,速度快也稳定上传和下载。
在项目的bin
目录中有wechat-devtools-cli
命令,是微信开发者工具的命令行支持Linux版本。相关材料可以在微信CLI命令行V2上找到。
为了尽可能正常的在Docker内运行完整的微信开发者工具,我们在Docker镜像内提供了GUI界面的支持。但该支持有严格的系统要求,因微信开发者工具的新版本对界面UI的图形化要求较高,导致该部分对OpenGL有必要的需求。所以Container内镜像的图形驱动要求与Host的图形驱动完全一致,在非一致的情况下,界面会出现频闪现象。即使是关闭了硬件加速,采用了--use-gl=swiftshader的软件模拟情况下也会出现图片撕裂的情况。因此,请各位在自行构筑Docker镜像时,严格根据自己使用的Linux发行版修改基础镜像。
目前图形界面在Docker内部实现的方案是通过X11的套接字透传实现的,因此请记得准备好一些必要Docker准备。大部分工作已经bin/wechat-devtools-docker
命令中完成。但是请根据具体运行情况修改必要的参数和Docker镜像构筑脚本。鉴于Docker镜像的基础Linux版本较低,因此建议使用兼容版本的发布包来构筑镜像,而不要轻易使用非兼容版本。
Docker容器启动方法
./bin/wechat-devtools-docker
如需要映射外部目录,请自行修改Docker启动命令
wine
和wine-binfmt
;git clone https://github.com/dragonation/wechat-devtools.git
./tools/setup-wechat-devtools
./tools/install-desktop-icon
之后即可通过点击应用图标启动微信开发者工具,也可以运行bin/wechat-devtools
通过命令行启动
rebuild-node-modules
工具也改为mew_js
代码为什么在编辑器里编辑的文本会自动复制到剪贴板?
新版微信开发者工具使用了新的vseditor
作为基础编辑器控件,而该控件在Linux下有一个默认配置支持Selection Clipboard。
// Controls whether the Linux primary clipboard should be supported.
"editor.selectionClipboard": true
如果不想用这个功能,可以自己通过修改~/.config/wechat_devtools/Default/Editor/User/settings.json
文件关闭。也可以通过tools/fix-selection-copy
命令来关闭该特性
为什么编辑器的字体是宋体?
新版本已经可以在设置中直接手工输入修改编辑器字体了,输入字体名称后界面就会更新
为什么自己构筑或更新后的运行时编辑器和调试器是一片空白?
检查一下conf/node.json
和conf/nwjs.json
里面定义的版本是否与最新微信官方开发者工具的一致。如果有修改版本号的情况,则在更新完这两个JSON文件后,执行tools/update-node
和tools/update-nwjs
命令。然后删除package.nw
目录重新执行tools/setup-wechat-tools
命令(感谢ReggieCai31的issue和解决方案)
为什么自己构筑的运行时加载项目时会卡住?
检查一下在package.nw/node_modules
目录下的node文件,是否依旧是Windows版本的dll,而非linux需要的so。如果依旧是Windows下的dll的话,可以考虑执行tools/rebuild-node-modules
命令重新编译。如果已经是linux的so文件的话,则同问题3解决方法
为什么自己构筑或更新后的在加载项目后,IDE界面会显示错误崩溃?
同问题4解决方法
本项目发布频率和更新速度是怎么样的?
由于该项目为个人业余时间开发和维护,故并不确保及时维护和更新。通常空闲的话,会紧追微信开发者工具的发布速度。如果个人状态忙碌,那么一般会维持在两个月左右发布一次更新的频率,还请大家见谅
为什么不发布在各个Linux发行版中?
个人精力有限,维护多个发行版中的版本发布渠道稍有难度。同时不同发行版的系统支持库环境和版本并不相同,需要的测试与环境配置也稍有差异。因此个人目前倾向于通过发布.tar.gz
的压缩包形式发布阶段性更新版本信息
直接下载下来的发布包,在加载项目后,为什么右侧的编辑界面是空白?
根据相关的情况分析,可以打开在微信开发者工具菜单里的调试支持。查看里面的日志报错,目前大部分情况是您的系统里libstdc++版本与预编译的版本不一致。可以考虑采用docker版本,或者执行tools/rebuild-node-modules
命令重新编译系统支持的原生模块。
自己构筑时,为什么会报告python执行错误?
Node里的node-gyp对于python的新版本支持并不友好,建议使用2.7版本的python参与构筑,Python3在运行node-gyp时经常会出问题
如何汇报自己遇到的问题?
如果是界面功能上的奇怪表现,直接描述,并附上操作系统发行版版本,内核版本,桌面系统类型,wine版本,libstdc++版本即可。如果发现运行有问题,可以考虑复制命令行输出,条件允许的情况下,可以打开微信开发者工具菜单中的调试窗口,并截图提交问题
版本 1.03.2006090
版本 1.02.2001191
图标
微信开发者工具版权归腾讯公司所有,本项目旨在交流学习之用。如有不当之处,请联系本人,邮箱:dragonation@gmail.com