如何设置Visual Studio代码检测并在打开文件时设置正确的编码

Yve*_*esR 28 encoding visual-studio-code

我最近开始在服务器系统上使用Visual Studio Code,我没有安装Studio IDE.我非常喜欢它但遇到了问题.当我打开一个文件(之前使用过Notepad ++)时,编辑器检测编码并为我设置它.在Windows服务器上有许多文件windows-1252但仍然vscode只是UTF-8默认使用.

我知道我可以,reopen with encoding Western (Windows 1252)但我经常忘记它,我有时会摧毁一些保存它的内容.

所以我还没有找到任何参数,有没有办法进行vscode检测编码并在打开文件时自动设置?

Sle*_*x89 44

要允许Visual Studio代码自动检测文件的编码,您可以设置"files.autoGuessEncoding":true(在settings.json配置文件中).

https://github.com/Microsoft/vscode/pull/21416

与最初询问问题时相比,这显然需要更新应用程序的版本.

  • 同时这个选项是新推出的,但是默认是假的,因为与例如Notepad ++相比,它仍然不能正常工作.对于许多错误的检测,但这将来可能会更好. (3认同)

Wos*_*osi 13

  • 转到File- > Preferences- >User Settings
  • 将条目添加(或更新)"files.encoding": "windows1252"到右侧编辑器窗口并保存

现在,windows-1252当没有正确的编码信息集时,VSCode会打开所有文本文件.

编辑:2017年6月发布的files.autoGuessEncoding设置被引入.启用后,它会尽可能地猜测文件的编码.它的默认值是false.

  • 谢谢你的信息.我之前确实找到了这个设置,但认为它只是一个默认设置.编辑器如何确定正确的编码信息?所以这个设置反转了我可以销毁utf8文件的问题,用Windows-1252保存它们,不是吗? (2认同)
  • 引用自 https://github.com/Microsoft/vscode/pull/21416:`要记住的一件事是,目前我们只允许在检测编码时使用文件的前 512 个字节。这可能会导致无法正确检测某些编码。` 这解释了错误的识别行为以及默认情况下关闭的原因。 (2认同)

Vie*_*tDD 7

按图像添加指南:

文件>>首选项>>设置

文件>>首选项>>设置

输入autoGuessEncoding并确保选中复选框

输入 autoGuessEncoding


Pem*_*tor 5

请注意,vscode 中的自动猜测仍然无法按预期工作,猜测非常不准确,并且仍然以猜测的编码打开,即使猜测库返回的置信度分数也很低 - 他们使用jschardet ( https://www .npmjs.com/package/jschardet

如果猜测的分数不接近 100%,则应该在“files.encoding”中打开而不是猜测的编码,但这不会发生,vscode 作者应该更好地利用 jschardet 返回的置信度分数

我打开 utf-8 ,猜测没问题,我使用的第二个编码是windows-1250,在 99% 的情况下检测到错误,因为其他一些 windows-... 编码甚至 iso-8859-...等等...每天对着电脑哭,经历这个

调整置信度检查并回退到默认编码就可以了,它需要技术人员检查其来源并为他们提供修复