项目说明

本项目是一个完整的搭建Linux下可用的“微信开发者工具”的脚本和工具集 用于在Linux下的GNOME桌面上搭建可以持续更新和使用的“微信开发者工具”。

项目地址

进度

当前工具可以在Linux上构筑最新版1.03.2008270截止时间2020年9月4日支持CLI模式。 另现在已经可以直接在设置界面里面修改字体,手工输入字体名称就可以。

使用方法

可以在本项目的发布中,寻找已经构筑好了的.tar.gz包(发布里也有度盘链接),下载解压后,运行其中的bin/wechat-devtools即可运行。

gitee上原来我也想放发布包的但是文件太大了附件最大只允许100M而且总体积不能超过1G。所以目前暂时先只放github如果大家发现下载速度慢的话可以考虑科学上网或者度盘链接速度快也稳定上传和下载。

系统要求

  • 基于Linux的桌面系统首选GNOME其他的桌面环境可能会有问题未测试
  • 安装有wine和wine-binfmt支持建议版本在5.0以上,低版本可能会存在有问题
  • 安装有libstdc++的版本为3.4.26发布包里已经预编译了的Linux原生Node模块有这个依赖
  • 如果运行的是docker镜像版本请自行安装docker

CLI支持

在项目的bin目录中有wechat-devtools-cli命令是微信开发者工具的命令行支持Linux版本。相关材料可以在微信CLI命令行V2上找到。

构筑方法

  1. 请先在Linux环境中自行安装winewine-binfmt
  2. 请到Mewchan网站上下载最新的运行时, 并配置到PATH环境变量中;
  3. 克隆本项目:
git clone https://github.com/dragonation/wechat-devtools.git
  1. 在本地项目目录中执行如下的语句,构筑开发者工具:
./tools/setup-wechat-devtools
  1. 在本地项目目录中执行如下的语句,可以安装应用图标(非必须):
./tools/install-desktop-icon

之后即可通过点击应用图标启动微信开发者工具,也可以运行bin/wechat-devtools通过命令行启动

与其他Linux下的微信开发者工具版本区别

  1. 支持最新版本并个人会持续更新确保运行和测试OK才会上传Release
  2. 自己制作了一个看得过去的图标,官方的太丑了;
  3. 核心构筑过程完全开源,可以自行修改;
  4. 修复了nwjs上关于Menu的段错误确保最新版本可以正常启动
  5. 在构筑过程中会重新编译node_modules确保原生模块可以在Linux上正确运行
  6. 可以随时更新开发者工具中的node和nwjs版本
  7. 下载更新可以支持断点再续并使用了taobao国内的npm源加速下载
  8. 使用了更为严谨的JS代码来控制整个构筑过程避免Shell中出现的各类异常
  9. 手工做了一些VSCode编辑器界面的文字汉化有些菜单很奇怪的腾讯没有汉化掉

后续计划

  1. 增加Docker支持正在尝试制作应该不难
  2. rebuild-node-modules工具也改为mew_js代码

FAQ

  1. 为什么在编辑器里编辑的文本会自动复制到剪贴板?

    新版微信开发者工具使用了新的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命令来关闭该特性

  2. 为什么编辑器的字体是宋体?

    新版本已经可以在设置中直接手工输入修改编辑器字体了,输入字体名称后界面就会更新

  3. 为什么自己构筑或更新后的运行时编辑器和调试器是一片空白?

    检查一下conf/node.jsonconf/nwjs.json里面定义的版本是否与最新微信官方开发者工具的一致。如果有修改版本号的情况则在更新完这两个JSON文件后执行tools/update-nodetools/update-nwjs命令。然后删除package.nw目录重新执行tools/setup-wechat-tools命令感谢ReggieCai31的issue和解决方案

  4. 为什么自己构筑的运行时加载项目时会卡住?

    检查一下在package.nw/node_modules目录下的node文件是否依旧是Windows版本的dll而非linux需要的so。如果依旧是Windows下的dll的话可以考虑执行tools/rebuild-node-modules命令重新编译。如果已经是linux的so文件的话则同问题3解决方法

  5. 为什么自己构筑或更新后的在加载项目后IDE界面会显示错误崩溃

    同问题4解决方法

  6. 本项目发布频率和更新速度是怎么样的?

    由于该项目为个人业余时间开发和维护,故并不确保及时维护和更新。通常空闲的话,会紧追微信开发者工具的发布速度。如果个人状态忙碌,那么一般会维持在两个月左右发布一次更新的频率,还请大家见谅

  7. 为什么不发布在各个Linux发行版中

    个人精力有限,维护多个发行版中的版本发布渠道稍有难度。同时不同发行版的系统支持库环境和版本并不相同,需要的测试与环境配置也稍有差异。因此个人目前倾向于通过发布.tar.gz的压缩包形式发布阶段性更新版本信息

  8. 直接下载下来的发布包,在加载项目后,为什么右侧的编辑界面是空白?

    根据相关的情况分析可以打开在微信开发者工具菜单里的调试支持。查看里面的日志报错目前大部分情况是您的系统里libstdc++版本与预编译的版本不一致。可以考虑采用docker版本或者执行tools/rebuild-node-modules命令重新编译系统支持的原生模块。

  9. 自己构筑时为什么会报告python执行错误

    Node里的node-gyp对于python的新版本支持并不友好建议使用2.7版本的python参与构筑Python3在运行node-gyp时经常会出问题

  10. 如何汇报自己遇到的问题?

    如果是界面功能上的奇怪表现直接描述并附上操作系统发行版版本内核版本桌面系统类型wine版本libstdc++版本即可。如果发现运行有问题,可以考虑复制命令行输出,条件允许的情况下,可以打开微信开发者工具菜单中的调试窗口,并截图提交问题

界面截图

版本 1.03.2006090 screenshot 1.03.2006090

版本 1.02.2001191 screenshot 1.02.2001191

图标 icon

免责声明

微信开发者工具版权归腾讯公司所有本项目旨在交流学习之用。如有不当之处请联系本人邮箱dragonation@gmail.com

Description
Languages
Shell 51.6%
JavaScript 44.7%
Dockerfile 1.5%
HTML 1%
Makefile 0.8%
Other 0.4%