Visual Studio 2022 中添加“高级保存选项”及解决编码问题
文章目录
- 一、背景
- 二、方法
- 方法一:通过菜单栏手动添加(推荐)
- 方法二:通过拖拽快速添加(替代方案)
- 三、验证与使用
- 四、补充说明
- 五、所能解决的问题
一、背景
VS 在开发cmake
项目的过程中,可能会遇到一些问题需要调整源代码文件保存的编码格式,如:
warning C4828: 文件包含在偏移 0x101 处开始的字符,该字符在当前源字符集中无效(代码页 65001)。
二、方法
方法一:通过菜单栏手动添加(推荐)
-
打开自定义设置
依次点击顶部菜单栏:工具
→自定义
→命令
,进入菜单配置界面。
-
定位目标菜单
在“自定义”窗口中:
• 选择 菜单栏 下拉框 → 指定为文件
(即要将功能添加至“文件”菜单)。
• 点击右侧的 添加命令 按钮。
-
添加具体功能
在弹出的对话框中:
• 左侧“类别”选择 文件 → 右侧“命令”列表中找到 高级保存选项 → 点击 确定 完成添加。
-
调整位置(可选)
添加后可通过 上移/下移 按钮调整该选项在“文件”菜单中的显示顺序。
方法二:通过拖拽快速添加(替代方案)
若希望更灵活地放置,可在“自定义”界面中直接拖拽 高级保存选项 到“文件”菜单的任意子菜单位置。
三、验证与使用
• 功能位置:添加成功后,打开任意文件,点击菜单栏的 文件
→ 即可看到 高级保存选项。
• 核心功能:通过该选项可设置文件编码(如UTF-8带/不带BOM)和换行符类型(CRLF/LF/CR),适合跨平台开发需求。
四、补充说明
• 快捷键绑定(可选):如需快速调用,可前往 工具
→ 选项
→ 环境
→ 键盘
,搜索动作名 File.AdvancedSaveOptions
并绑定快捷键。
• 兼容性提示:VS默认保存的UTF-8编码带BOM头,若需无BOM格式(如某些Qt项目),需手动选择 UTF-8 without signature
。
五、所能解决的问题
能解决代码文件编码问题造成的乱码,例如背景介绍所述:
示例代码:
#include <saucer/webview.hpp>int main()
{auto app = saucer::application::init({.id = "calendar",});saucer::webview webview{{.application = app,}};// 设置webview尺寸及标题webview.set_size(360, 600);webview.set_title("日历");// 指定页面文件webview.set_file("index.html");webview.show();app->run();return 0;
}
该代码本身并没有问题,但是,由于源代码编码(我的VS2022环境默认简体中文GB2312-代码页 936)导致当中的中文字符显示出问题,典型如webview.set_title
函数中的中文。
修改编码方式为“Unicode (UTF-带签名) - 代码页 65001”,问题解决:
修改编码后前述C++
代码执行效果如下: