如何格式化未在 Visual Studio Code 中保存的文档?

如何格式化未在 Visual Studio Code 中保存的文档?

如果 i Shift++ AltF或使用调色板中的命令)在无标题标签vscode出现以下命令:

没有安装用于“纯文本”文件的格式化程序。

有什么方法可以为未保存的文件指定不同的格式以启用选择的格式化程序?

当我经常复制/粘贴一些 json/xml 时通常会出现这种需求。

答案1

在最新的 VS Code (v1.47)中:

检测到的文件类型打印在窗口的下方,默认情况下它可能会显示Plain Text新的、未保存的文件。

Visual Studio Code 右下角菜单栏的屏幕截图

单击Plain Text,将弹出一个框,您可以在其中选择 VS Code 知道的其他格式。选择您想要的格式,或者在搜索中开始输入您想要的内容,例如JSON,这将转换检测到的文件类型。现在,只要 VS Code 有该文件类型的格式化程序,
您就可以使用命令面板中的标准命令。Format Document

答案2

更新2 现在,新选项卡直接显示选择模式,内容如下:

选择一种语言即可开始。开始输入以关闭,或不再显示。

所以你只需要按Select a language

visual studio 代码选择模式

更新 1
右下角的Select Language Mode功能现在可让您选择格式化选项,默认选项是。 可以通过从命令面板中选择或来Plain Text使用相同的功能。Ctrl + KMChange Language Mode

在 Visual Studio Code 中选择语言模式

旧答案
我找到了针对此特定问题的两个解决方案,即使它们看起来更像是一种变通方法,而不是正确的解决方案:

  1. 使用特定扩展来格式化特定代码(json 或 xml)
  2. 欺骗 VSCode 认为默认未保存的文件是 json

1 格式化为特定代码的扩展

安装添加特定语言命令的特定扩展:

赞成

  • 不改变默认设置
  • 可以对任何文件中的任何选择使用特定格式
  • 它与 notepad++ 实现的解决方案相同

缺点

  • 下载额外的扩展可能看起来有点过分,只是为了格式化一些东西
  • 更多键绑定和额外的非标准行为

2 VSCode 默认未保存文件技巧

在 settings.json 中添加一个配置,指定 json 作为无标题文件的文档类型:

"files.associations": {
    "Untitled-*" : "json"
}

赞成

  • 默认格式化文档用来
  • 无需额外下载

缺点

  • 只能指定一种格式
  • 依赖于语言环境(对于英语以外的语言它不应该起作用)

相关内容