VSCode默认不支持十六进制查看,必须安装Microsoft官方Hex Editor扩展(ms-vscode.hexeditor)并显式触发打开;右键无选项时需用命令面板执行“Hex Editor: Reopen as Hex”,且默认只读,须点击状态栏“Readonly”切换为Edit模式才能保存。

VSCode 默认完全不支持十六进制查看,装完 Hex Editor 扩展也**不会自动打开任何 .bin/.exe/.img 文件**——你看到的“右键→Open with Hex Editor”菜单项,是扩展安装后才注入的,不是 VSCode 原生能力。所有打不开、改不了、保存失败的问题,90% 都卡在这一步没显式触发。
怎么装对 Hex Editor 扩展
认准唯一官方版本:ms-vscode.hexeditor,发布者是 Microsoft,图标是蓝底白 0x。别装 vscode-hexdump、hex-viewer 或 hex-editor 这类名字相近的扩展——它们不支持编辑保存、不维护、甚至可能把二进制当 UTF-8 重编码直接损坏文件。
- 快捷路径:
Ctrl+Shift+X→ 搜Hex Editor→ 点 Install → 点Reload Window(不是重启,但命令面板里搜不到命令时必须 reload) - 如果搜不到,说明 VSCode 没连上官方市场(比如用了国内镜像源或企业代理),可手动下载 VSIX:marketplace.visualstudio.com/items?itemName=ms-vscode.hexeditor
-
files.associations配置只影响右键菜单是否显示该选项,不改变默认打开行为;若想让.bin文件右键菜单默认出现 Hex Editor,加这一行到settings.json:"*.bin": "hexeditor"(注意值必须是hexeditor,写成hex或hex-editor都无效)
为什么双击 .bin 文件还是报错“无法用文本编辑器打开”
因为 VSCode 默认仍走文本解码流程,扩展装完只是“就绪”,不是“接管”。它不会拦截 .exe、.dll 这类文件的打开请求,也不会绕过系统安全策略。
- 真正有效的打开方式只有两种:
— 右键资源管理器中的文件 →Open With→ 选Hex Editor
— 已打开文件时,按Ctrl+K M(Win/Linux)或Cmd+K M(Mac),输入hex回车,选Reopen with Hex Editor - 拖入或双击打开后弹出黄色提示条:“The file is not displayed... because it is either binary...”,此时必须点提示里的
Open with按钮再选 Hex Editor——漏掉这步,文件就一直卡在“无法显示”状态 -
code firmware.bin从终端启动 VSCode 并不能直接进入 Hex Editor 视图,必须先打开窗口,再通过 UI 或命令触发
编辑后 Ctrl+S 没反应?检查这三处
Hex Editor 默认以只读模式加载所有文件。你能在字节区点击、输入、删改,但这些操作**仅存在于内存缓冲区**,Ctrl+S 完全静默,界面没有任何警告——这是最常被忽略的坑。
- 看右下角状态栏:显示
Readonly?点它,切换为Edit模式(此时显示Hex Editor (Edit)) - 确认文件系统权限:Windows 下检查是否勾了“只读属性”,Linux/macOS 下运行
ls -l yourfile.bin看是否有w权限;若无,保存会静默失败 - 千万别点右下角的
Save with Encoding(比如选 UTF-8)——这会强制把整个二进制当文本重编码,文件立即损坏;永远只用普通Ctrl+S
大文件打不开或卡死?调内存限制要重启才生效
默认单文件上限是 50MB,超限提示:File is too large to open in the hex editor。这不是 bug,是防 OOM 的硬限制。
- 调高方法:打开设置(
Ctrl+,)→ 搜hex editor memory limit→ 改成200(单位 MB)→ 必须重启 VSCode 才生效 - 设太高有风险:16GB 内存机器上,200MB 文件响应尚可;500MB+ 建议换工具(如
xxd -r+ vim 或 HxD) - Hex Editor 不做内存映射式加载,是全量读入内存;且不支持插入/删除字节,所有编辑都是原位覆盖(overwrite),无法增删长度
真正难的不是怎么打开,而是改一个字节前是否备份、保存前是否确认 Readonly 已关、关标签页前是否真按了 Ctrl+S——二进制里一个字节差,设备可能直接不启动。



















