vs code唯一真正能编辑二进制文件的hex插件是microsoft官方hex editor:需认准作者为microsoft corporation、图标为蓝色六边形,安装后必须reload window或重启,且默认只读,须手动关闭只读模式并按ctrl+s保存才生效。

VS Code 唯一真正能编辑二进制文件的 Hex 插件,只有 Microsoft 官方那个 Hex Editor;其他名字带“hex”“binary”“viewer”的插件,基本只读、不支持保存、不响应 Ctrl+S,误用会导致改了也白改。
怎么确认你装的是真 Hex Editor?
打开扩展面板(Cmd+Shift+X 或 Ctrl+Shift+X),搜 Hex Editor,只认准作者栏写着 Microsoft Corporation 的那一项。图标是蓝色六边形,不是绿色/灰色方块,也不是带“Viewer”“Dump”字样的变体。
- 装完必须点右下角弹出的 Reload Window,或手动重启 VS Code,否则命令面板里搜不到
Hex Editor: Reopen as Hex - 别信“Hex Viewer”“Binary Preview”“Hexdump for VSCode”——它们渲染快,但改不了字节,保存按钮压根不生效
- 装错插件后,即使你点了
Save,文件内容也不会变;现象是窗口标题有 ● 圆点,但磁盘上原始文件纹丝不动
为什么右键没 “Open With Hex Editor”?
不是插件坏了,是 VS Code 默认不给任何后缀绑定该视图。它故意不自动关联,防止误写关键文件(比如双击 bootloader.bin 就直接可编辑)。
- 最稳的打开方式:
Cmd+Shift+P→ 输入Hex Editor: Open File→ 选文件;或已打开文件时输Hex Editor: Reopen as Hex - 右键菜单不显示?说明文件已被 VS Code 缓存为文本模式,此时只能靠命令面板切换,不能依赖右键
- 拖拽文件到编辑区失败?弹出“无法打开”提示时,点提示框里的 Open with 下拉菜单,再选
Hex Editor
files.associations 怎么配才生效?
想让 .bin、.fw 双击就进 Hex 视图,必须手动加配置,且值必须严格为 "hexeditor"(不是 "hex"、"binary" 或 "hex-editor")。
- 打开
settings.json,加这一行:"files.associations": {"*.bin": "hexeditor", "*.fw": "hexeditor"} - 某些类型(如
.exe、.dll)仍会被 VS Code 内置安全策略拦截,此时需额外加白名单:"hexEditor.supportedLanguages": ["*"](慎用,可能拖慢启动) - 配完必须重启 VS Code 才生效;改完不重启,双击还是走文本解码流程,报
Text file encoding not supported
编辑前不关只读模式,等于没改
Hex Editor 默认只读,这是硬性设计——防止你手抖把固件头几个字节删了。状态栏右下角显示 Readonly 就是铁证,此时所有输入、删除、粘贴都无效。
- 点击状态栏的
Readonly标签,切换成Hex Editor (Edit)模式 - 改完一个字节,窗口标题右侧出现 ● 圆点,才是内存已变更;按
Ctrl+S才真正写入磁盘 - 千万别点右下角的
Save with Encoding!选 UTF-8 / GBK 会强制重解释字节流,文件瞬间损坏 - 文件本身权限为只读(如在
/usr/bin下)、或被其他进程占用(比如固件正在运行中),保存会静默失败,无任何提示
真正难的不是怎么打开,而是你是否清楚自己要改哪几个字节、原始值是多少、改完会不会破坏校验和或对齐边界。Hex Editor 是把快刀,不是向导;它不会告诉你第 0x124 字节是 CRC 校验位,也不会阻止你覆盖跳转指令。动手前,先用 xxd -g1 firmware.bin | head -20 看一眼结构,比在界面里瞎试靠谱得多。











