Visual Studio 2022 中添加“高级保存选项”及解决编码问题

文章目录

一、背景

VS 在开发cmake项目的过程中,可能会遇到一些问题需要调整源代码文件保存的编码格式,如:

warning C4828: 文件包含在偏移 0x101 处开始的字符,该字符在当前源字符集中无效(代码页 65001)。

二、方法

方法一:通过菜单栏手动添加(推荐)

  1. 打开自定义设置

    依次点击顶部菜单栏:工具自定义命令,进入菜单配置界面。

  2. 定位目标菜单

    在"自定义"窗口中:

    • 选择 菜单栏 下拉框 → 指定为 文件(即要将功能添加至"文件"菜单)。

    • 点击右侧的 添加命令 按钮。

  3. 添加具体功能

    在弹出的对话框中:

    • 左侧"类别"选择 文件 → 右侧"命令"列表中找到 高级保存选项 → 点击 确定 完成添加。

  4. 调整位置(可选)

    添加后可通过 上移/下移 按钮调整该选项在"文件"菜单中的显示顺序。

方法二:通过拖拽快速添加(替代方案)

若希望更灵活地放置,可在"自定义"界面中直接拖拽 高级保存选项 到"文件"菜单的任意子菜单位置。


三、验证与使用

• 功能位置:添加成功后,打开任意文件,点击菜单栏的 文件 → 即可看到 高级保存选项。

• 核心功能:通过该选项可设置文件编码(如UTF-8带/不带BOM)和换行符类型(CRLF/LF/CR),适合跨平台开发需求。


四、补充说明

• 快捷键绑定(可选):如需快速调用,可前往 工具选项环境键盘,搜索动作名 File.AdvancedSaveOptions 并绑定快捷键。

• 兼容性提示:VS默认保存的UTF-8编码带BOM头,若需无BOM格式(如某些Qt项目),需手动选择 UTF-8 without signature

五、所能解决的问题

能解决代码文件编码问题造成的乱码,例如背景介绍所述:

示例代码:

cpp 复制代码
#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++代码执行效果如下:

相关推荐
右耳朵猫AI2 分钟前
Web前端周刊2026W37 | Shopify 转原生、React 编译 Rust 化、Vitest 5.0、Rslib 1.0
前端·javascript·react.js·typescript·node.js
涛涛ing8 分钟前
2026年,这5个JS新趋势正在悄悄改写前端
前端
VIP_CQCRE10 分钟前
在 Visual Studio 里接入 Ace Data Cloud:让 LMLocal 直接调用 OpenAI 兼容模型
ai·visual studio·ace data cloud
郝学胜-神的一滴11 分钟前
C++20模板元编程 02:吃透模板基础核心四大核心知识点
开发语言·数据结构·c++·程序人生·软件工程·visual studio
moonsims17 分钟前
AiBrainBox-UGV 的目标跟踪从“传统视觉跟踪”升级为“语义目标跟踪”
前端·人工智能·量子计算
驭渊的小故事25 分钟前
Spring Boot 注解详解01
java·前端·spring boot
pe7er31 分钟前
引子
前端·后端·架构
代码王同学32 分钟前
2026.9.15日C++类和对象学习收获笔记
c语言·c++
恋猫de小郭38 分钟前
CPF-Flutter 社区提出折叠场景分栏(平行视界) 方案
android·前端·flutter
刚入门的大一新生43 分钟前
Linux-简单设计libc库
linux·c++