Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>Embedded C Encoding FixerNew to Visual Studio Code? Get it now.
Embedded C Encoding Fixer

Embedded C Encoding Fixer

lizewei

|
4 installs
| (0) | Free
自动检测 C/C++ 文件的真实编码(UTF-8 / GBK / GB18030),避免中文注释乱码,并提供一键转换为 UTF-8 的命令
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Embedded C Encoding Fixer

自动检测 C/C++ 源文件的真实编码,避免 GBK/GB2312 编码的中文注释或打印字符串在 VS Code 里显示乱码——这是国内嵌入式 C 工程里的常见痛点。

功能

  • 自动检测并静默重开:打开 .c/.h/.cpp/.hpp/.cc/.cxx/.hxx/.inc 文件时,读取原始字节判断真实编码(UTF-8 / UTF-8 BOM / GB18030),一旦发现当前解码是乱码,会静默地用正确编码重新打开文件,并在状态栏给一条几秒后自动消失的提示。
  • 纯 ASCII 文件不受影响:检测器对全 ASCII 内容直接判定 UTF-8,跳过解码尝试,不会误触发。
  • 一键转换为 UTF-8:右键菜单命令“转换为 UTF-8 并保存”,把检测到的非 UTF-8 文件(如 GBK/GB18030)覆盖转换为 UTF-8 字节,从根源解决乱码;操作前会二次确认,因为会覆盖原文件。
  • 批量转换:命令面板中的“批量转换工作区 C/C++ 文件为 UTF-8”,按配置的 glob 扫描整个工作区并逐个转换。

配置项

配置项 默认值 说明
fileEncodingFixer.enable true 是否启用打开文件时的自动编码检测与切换
fileEncodingFixer.filePatterns ["**/*.c", "**/*.h", ...] 自动检测生效的文件 glob 列表
fileEncodingFixer.showNotification true 自动切换编码后是否在状态栏显示一次性提示
fileEncodingFixer.confirmBeforeConvert true 执行“转换为 UTF-8 并保存”前是否需要二次确认

已知限制

  • VS Code 没有提供“单文件编程式设置解码”的公开 API,本插件通过临时修改 files.encoding 配置 + 关闭/重开对应标签页的方式实现按需切换编码,切换过程中会有短暂的配置改动(对其他并发打开的文件理论上有极小概率的时序影响)。
  • 目前仅在 UTF-8 与 GB18030(GBK/GB2312 的超集)之间判别,不支持 Big5、Shift-JIS 等其它编码。

开发

npm install
npm run compile   # esbuild 打包到 dist/
npm test           # 运行编码检测器的单元测试

按 F5 启动 Extension Development Host 进行手动调试。

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft