如何配置Monaco编辑器允许变量名使用非ASCII字符?
解决Monaco Editor识别非ASCII变量名的问题
- 核心配置:要解决这个问题,关键是开启TypeScript/JavaScript语言服务的
allowNonAsciiIdentifiers编译选项——这才是控制非ASCII字符作为变量名合法性的开关,和你之前尝试的unicodeHighlight系列选项无关。 - 具体操作:在初始化Monaco Editor时,通过以下代码配置JavaScript的默认编译选项:
monaco.languages.typescript.javascriptDefaults.setCompilerOptions({ allowNonAsciiIdentifiers: true, // 可按需添加其他编译选项,比如allowJs: true、target: "ESNext"等 }); - 关于无效设置的说明:
unicodeHighlight相关选项仅用于高亮提示非ASCII字符(比如提醒潜在的不可见字符或非预期字符),和变量名的语法合法性校验完全不相关,所以调整这些选项无法解决问题。 - 关于
.mtk11类:这是Monaco编辑器的token样式类,mtk是monaco token的缩写,数字对应不同的token类型,.mtk11在这里对应语法错误标记,开启allowNonAsciiIdentifiers后,该错误样式会自动消失。
内容的提问来源于stack exchange,提问作者leo
相关产品推荐
相关产品推荐

