如何在Visual Studio代码(VSCode)中格式化代码

Bra*_*app 990 code-formatting visual-studio-code

在Visual Studio中,Windows上的Ctrl+ K+ FCtrl+ K+ 相当于D在Visual Studio代码编辑器中格式化或"美化"代码?

Bra*_*app 3417

Visual Studio Code中的代码格式通过以下快捷方式提供:

  • 在Windows Shift+ Alt+上F
  • 在Mac Shift+ Option+上F
  • 在Ubuntu Ctrl+ Shift+上I

或者,您可以通过编辑器中使用Ctrl+ Shift+ P(或Mac上的Command+ Shift+ P)提供的搜索功能找到快捷方式以及其他快捷方式,然后搜索格式文档.

  • 另请注意,代码语言必须正确.即如果选择了纯文本,格式代码将不可用,但切换到JSON(例如)将愉快地格式化所选文本.(无论如何都像文本编辑器一样快乐) (25认同)
  • 此外,显然文件必须首先保存到磁盘.我有一大块HTML + Javascript,它无法格式化JS,所以我将它粘贴到一个临时窗口并设置语言,但这在它被保存之前没有帮助. (18认同)
  • 对于那些说它无法在Mac上运行的人来说,这看起来像快捷键和OS X文本输入系统之间的重音字符冲突,这取决于您配置的语言环境和键盘设置:https://github.com/Microsoft/vscode /问题/ 8914#issuecomment-245947844 (7认同)
  • 这对我的VS Code最新版本不起作用,win 10是否假设安装了某个扩展? (5认同)
  • @JoSmo:在Ubuntu上,我打开了File> Preferences> Keyboard Shortcuts.{"key"有一个项目:"ctrl + shift + i","command":"editor.action.format","when":"editorTextFocus"}.命令"ctrl + shift + i"对我有用. (4认同)
  • 在当前版本的VSCode(1.8.1)中,在Command + P菜单"格式文档"中有操作,它也可以在文件内容的上下文菜单中使用 - 但仅适用于支持的文档类型. (2认同)
  • 如果要更改默认格式化程序,则可以这样操作:打开文件->右键单击代码窗口->选择`使用...格式化文档`->`配置默认格式化程序...`->选择一个新的格式化程序。 (2认同)
  • 你能***在你的答案中添加***一些关于其工作条件的内容吗?例如,默认情况下,它对于 C# (.cs) 不起作用(什么也不会发生)——在 Linux 上尝试过(Ubuntu MATE 20.04 和 Visual Studio Code 1.41.1,2020-05-14)。而它适用于同一系统上的 HTML (.html) 文件。 (2认同)
  • @BrandonClapp 如何将格式化程序应用于不一定适用于该格式化程序的文件?我正在学习如何在 VS Code 中使用“Q#”进行编程,当我按“shift+alt+f”并希望安装“Q#”格式化程序时,却没有找到。因此,我安装了“Csharpier”来尝试像“C#”脚本一样格式化我的“Q#”脚本,但我无法让它应用格式。你知道该怎么做吗? (2认同)

Bha*_*asu 451

代码格式快捷方式:

Windows上的VSCode - Shift+ Alt+F

MacOS上的VSCode - Shift+ Option+F

Ubuntu上的VSCode - Ctrl+ Shift+I

如果需要,您还可以使用首选项设置自定义此快捷方式

保存文件时的代码格式:

Visual Studio代码允许用户自定义默认设置.

如果您想在保存的同时自动格式化您的内容,请在Visual Studio代码的工作空间设置中将此下面的代码段添加.

文件 - >首选项 - >工作区设置

{
    // Controls if the editor should automatically format the line after typing
    "beautify.onSave": true,

    "editor.formatOnSave": true,

    // You can auto format any files based on the file extensions type.
    "beautify.JSfiles": [
        "js",
        "json",
        "jsbeautifyrc",
        "jshintrc",
        "ts"
    ]
}
Run Code Online (Sandbox Code Playgroud)

注意:现在您可以自动格式化typescript文件检查我的更新

  • 不知道为什么它在CentOS中有所不同,但它是`Shift + Alt + I` (3认同)
  • 找不到“工作场所设置”,只需“文件”>“首选项”>“设置”。 (3认同)
  • beautify.onSave对于安装的eslint扩展无效 (2认同)
  • @ClintEeastwood尝试在你的vs代码设置中使用`prettier.singleQuote:true`. (2认同)

har*_*ded 207

您可以在菜单文件首选项键盘快捷键中添加键绑定.

{ "key": "cmd+k cmd+d", "command": "editor.action.formatDocument" }
Run Code Online (Sandbox Code Playgroud)

Visual Studio如:

{ "key": "ctrl+k ctrl+d", "command": "editor.action.formatDocument" }
Run Code Online (Sandbox Code Playgroud)

  • 在Windows中,将`cmd`替换为`ctrl` - 不要像我一样盲目地复制和粘贴! (22认同)
  • "editor.action.format"再次运作.如果没有选择任何内容,它现在格式化整个文档,否则格式化选择. (2认同)

Sid*_*ted 157

  1. 右键单击该文件
  2. 从菜单框中选择格式化文档(Alt+ shift+ f).

在此输入图像描述

  • 对于Linux,键盘快捷键是Ctlr + Shift + I (12认同)
  • @BenLeggiero 我在这里并没有真正看到讽刺。在我看来,彼得只是想确定在发布答案的人眼中“菜单框”指的是什么。如果 @siddarthkanted 回复的话会更好,但你回复了,可能给出了与 Siddarth 相同的答案。然后彼得所做的就是正确命名这个概念。请记住,非英语母语人士可能会错误地命名事物/概念。我认为彼得的干预是适当的。 (2认同)

小智 116

正确的组合键是Shift+ Alt+ F.

  • 当你只是**将**代码从剪贴板复制并粘贴到**新标签**时,没有任何反应.解决方案:**将代码保存到具有相关**文件扩展名**的文件中(例如*.json).然后它工作.我想原因是美化器从扩展中知道语言,并且不根据代码进行自动检测. (2认同)

aby*_*kla 62

对于Fedora

  1. 单击File- > Preferences- > Keyboard shortcuts.
  2. Default Keyboard Shortcuts,搜索(Ctrl+ F)editor.action.format.

我看了 "key": "ctrl+shift+i"

你也可以改变它.请参阅这个答案,了解如何......或者如果您感觉有点懒,可以向上滚动:


您可以在"首选项 - >键盘快捷键"中添加键绑定

{ "key": "cmd+k cmd+d", "command": "editor.action.format" }

或Visual Studio如:

{ "key": "ctrl+k ctrl+d", "command": "editor.action.format" }


请注意:cmd钥匙仅适用于Mac.适用于Windows和Fedora(Windows键盘)使用Ctrl


编辑:

根据Visual Code版本,1.28.2这是我发现的.

editor.action.format不复存在.它现在已被替换为editor.action.formatDocumenteditor.action.formatSelection.

键入editor.action.format搜索框查看现有的快捷方式.

要更改组合键,请按以下步骤操作:

  1. 点击editor.action.formatDocumenteditor.action.formatSelection
  2. 左侧出现类似笔的图标 - 单击它.
  3. 出现一个弹出窗口.按所需的组合键,然后按enter键.


Nik*_*ntz 61

在Linux上它是Ctrl+ Shift+ I.

在Windows上它是Alt+ Shift+ F.使用HTML/CSS/JavaScript和Visual Studio Code 1.18.0进行测试.

对于其他语言,您可能需要安装特定的语言包.


Dar*_*usz 58

VS Code 1.6.1 支持" 保存格式 ",它将自动获取相关的已安装格式化程序扩展,并在每次保存时格式化整个文档.

通过设置启用"保存格式"

"editor.formatOnSave": true
Run Code Online (Sandbox Code Playgroud)

并且有可用的键盘快捷键(VS Code 1.7及以上版本):

格式化整个文档:Shift+ Alt+F

仅限格式选择:CtrlK+CtrlF

  • 我建议 VS Code 的 EsLint 扩展 https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint (2认同)

ran*_*uch 42

在Ubuntu上它是Ctrl+ Shift+ I.

  • 我想这取决于语言.例如,`CTRL + SHIFT + I`适用于JavaScript但不适用于PHP. (5认同)

Ger*_*ied 30

只需右键单击文本,然后选择"格式代码".

VS Code在内部使用js-beautify,但它缺乏修改你想要使用的样式的能力.扩展名"美化"可让您添加设置


小智 25

由于某些原因,Alt+ Shift+ F在Mac VSC 1.3.1上对我不起作用,实际上命令"格式文档"根本不起作用.但命令Formatter工作得很好.

因此,您可以使用Command+ Shift+ P并键入Formatter或在Preferences/Keyboard Shortcuts Command+ K Command+中创建自己的快捷方式,S然后键入Formatter并添加快捷方式,请参阅示例: 在此输入图像描述


Pio*_*iuk 24

__CODE__+ __CODE__+ __CODE__在1.17.2及以上版本中工作正常.


小智 21

文件 - >首选项 - >设置

"editor.formatOnType": true
Run Code Online (Sandbox Code Playgroud)

当你输入分号时,它将被格式化


afe*_*eef 20

在Visual Studio中格式化代码.

我尝试在Windows 8中进行格式化.

只需按照截图即可.

步骤1.单击顶部菜单栏上的视图,然后单击Command Pallete. 在此输入图像描述

  1. 然后Textbox将出现在我们需要类型Format的地方

移位+ Alt + F

在此输入图像描述


Bur*_*urk 18

在Visual Studio Code上,Shift+ Alt+ F正在执行Ctrl+ K+ D在Visual Studio上执行的操作.


Jo *_*Smo 18

在我为Mac OS X,DNVMDNX安装Mono之前,C#中的格式快捷方式不起作用.

在安装Mono之前,自动格式快捷键(Shift+ Alt+ F)仅适用于.json文件.


Luk*_*ski 17

在Mac上__CODE__ 为我工作.

您可以随时检查菜单中的键绑定:
__CODE__并按关键字"格式"进行过滤.


Sat*_*ies 14

虽然更改Visual Studio代码的默认行为需要扩展,但您可以覆盖工作区或用户级别的默认行为,并适用于大多数支持的语言(我可以保证html,javascript,c#)

工作区级别

优点

  • 不需要延期
  • 可以在团队之间共享

成果

  • .vscode/settings.json 在项目根文件夹中创建

如何?

  1. 转到:文件 - >首选项 - >工作区设置

  2. 添加并保存"editor.formatOnType": true到settings.json(通过创建.vscode/settings.json文件覆盖您所处理项目的默认行为). 看起来如何

用户环境级别

优点

  • 不需要延期
  • 个人发展环境tweeking统治他们所有(设置:))

成果

  • 用户settings.json已修改(请参阅下面的操作系统位置)

如何?

  1. 转到:文件 - >首选项 - >用户设置

  2. 在用户settings.json中添加或更改"editor.formatOnType": falseto 的值"editor.formatOnType": true

您的Visual Studio Code用户的settings.json位置是:

设置文件位置根据您的平台,用户设置文件位于:

Windows%APPDATA%\ Code\User\settings.json Mac $ HOME/Library/Application Support/Code/User/settings.json Linux $ HOME/.config/Code/User/settings.json工作区设置文件位于项目中的.vscode文件夹.

更多细节可以在这里找到


mum*_*air 9

默认这个键对我来说不适用于HTML,CSS,JS文档.

搜索后我发现这个流行的插件JS-CSS-HTML Formatter安装 后安装了133,796只需重新加载windows并点击CTRL+ SHIFT+ F就可以了!


Akh*_*iki 8

选择文本,右键单击选择并选择"命令调色板"选项

在此输入图像描述

打开一个新窗口,搜索"格式"并根据需要选择具有格式的选项.


Hvi*_*tis 7

Linux 上的 Visual Studio 代码:

Ctrl+[取消缩进代码块并且

Ctrl+]进行大量压痕


小智 7

只需安装Microsoft的Visual Studio Keymap即可.问题解决了.:p


Gop*_*vra 7

在Mac中,使用+ K然后+ F.


Ash*_*Jha 6

我在Visual Studio Code(Ubuntu)中使用的最简单方法是:

选择要用鼠标格式化的文本。

右键单击并选择“格式选择”


小智 6

如果要自定义格式文档的样式,则应使用Beautify扩展.

请参阅此屏幕截图:

IMG


小智 5

不是这个。用这个:

菜单文件首选项工作区设置“ editor.formatOnType”true

  • 不是这个吗?您是在指另一个答案吗?如果是,是哪一个? (2认同)

Ric*_*ick 5

对于那些想要自定义要格式化的JavaScript文件的用户,可以使用属性上的任何扩展名JSfiles。同样适用于HTML。

{
    "beautify.onSave": true,
    "beautify.JSfiles": ["js", "json", "jsbeautifyrc", "jshintrc", "ts"],
    "beautify.HTMLfiles": ["htm", "html"]
}
Run Code Online (Sandbox Code Playgroud)

这将在保存时美化TypeScript,并且您可以将XML添加到HTML选项。


小智 5

您必须先安装适当的插件(即XML,C#等)。

在您安装了相关的插件并使用适当的扩展名保存文件之前,格式化将不可用。