vscode默认不支持十六进制查看,hex editor是需手动安装的microsoft官方扩展;安装后须显式右键选择“open with hex editor”或通过命令面板调用,才能以双栏视图打开二进制文件并编辑字节,修改后必须手动保存,且不支持跨会话撤销。

Hex Editor 扩展不是内置功能,必须手动安装
VSCode 默认完全不支持十六进制查看,连 exe、bin、img 这类文件都只会报错“无法用文本编辑器打开”,不会自动跳转到十六进制视图。你看到的“右键→Open With→Hex Editor”菜单项,是扩展安装后才注入的,不是 VSCode 原生能力。
安装路径很明确:Ctrl+Shift+X → 搜索 Hex Editor → 认准发布者是 Microsoft 的那个(ID 为 ms-vscode.hexeditor)→ 安装 → 无需重启,但首次使用建议重启一次确保命令注册完整。
别装错名字相近的扩展,比如 vscode-hexdump 或 hexdump,它们功能重叠但维护状态、API 兼容性、大文件处理逻辑都不同;微软官方版目前是唯一默认集成 Ctrl+G 跳转偏移、Ctrl+F 十六进制搜索、字节宽度切换等关键操作的版本。
打开二进制文件时,“Open with Hex Editor”必须显式触发
拖入 firmware.bin 或双击打开一个 libc.so,VSCode 会弹出黄色提示条:“The file is not displayed in the editor because it is either binary or uses an unsupported text encoding.”——此时它**不会自动用 Hex Editor 打开**,你得主动点提示里的 Open with 按钮,再选 Hex Editor。
更可靠的方式是右键资源管理器中的文件 → Open With → Hex Editor;或者按 Ctrl+Shift+P 输入 Hex Editor: Open File 命令手动调起。漏掉这一步,文件就一直卡在“无法显示”状态,容易误以为插件没生效。
注意:该命令不接受通配符或目录,只对单个文件有效;也不支持从终端用 code file.bin 直接启动 Hex Editor 视图——必须先打开 VSCode 窗口,再通过 UI 或命令触发。
修改字节后必须手动保存,且不支持撤销全部历史
Hex Editor 编辑界面里直接键盘输入改一个字节,比如把 41 改成 42,UI 上立刻高亮变化,但这个改动**仅存在于内存缓冲区**。关掉标签页、切换文件、甚至只是切出 VSCode 再切回来,只要没按 Ctrl+S,所有修改就彻底丢失。
它不像文本编辑器那样有“未保存更改”星号提示,也没有全局撤销栈(Ctrl+Z 只能撤回最近几次输入,不能回退到打开前状态)。所以实操中建议:
- 编辑前先右键文件 →
Copy Path,然后终端执行cp file.bin file.bin.bak - 改完立刻按
Ctrl+S,不要依赖自动保存或窗口关闭确认 - 如果要批量改多处,优先用查找替换(
Ctrl+F→ 切换 Hex 模式)而非逐字节敲,减少操作失误
大文件加载慢、只读提示和性能边界要心里有数
打开几百 MB 的固件镜像或磁盘 .img 文件时,Hex Editor 会卡顿几秒,并弹出提示:“This file is large and will be opened in read-only mode. Do you want to continue?”——选“是”后你只能看、不能改,连 Ctrl+S 都是灰色的。
这不是 bug,是扩展主动限制:当前版本(截至 2026 年 4 月)对 >256MB 的文件默认启用只读保护,防止内存爆掉或 UI 冻结。如果你确实需要编辑大文件,可以临时改设置:
在 VSCode 设置里搜 hexeditor.memoryLimit,把值从默认 268435456(256MB)调高,比如设成 1073741824(1GB),但要注意——改完得重启 VSCode 才生效,且机器内存不足时仍可能崩溃。
真正棘手的是:它不支持分块加载或流式解析,所有字节都会载入内存。分析几 GB 的原始磁盘镜像?老老实实用 xxd + less 或专用工具如 HxD 更稳。











