如何设置 VS Code 将 JavaScript 大括号放在新行上?

问题描述 投票:0回答:11

假设我输入以下代码并格式化它。

if (condition) { /* Hello! */ }

如果这是 C# 代码,则其格式如下:

if (condition)
{
    // Hello!
}

如果是 JavaScript,VSCode 的格式如下:

if (condition) {
    // Hello!
}

那么如何对所有语言使用第一种格式样式(新行上的大括号)?我找不到设置或类似的东西。有建议吗?

javascript formatting code-formatting visual-studio-code
11个回答
95
投票

按照以下步骤为 Java ScriptType Script 制作 Visual Studio Code 格式,在新行上打开大括号。

Visual Studio Code (v1.20.0)

  1. 转到文件\首选项\设置
  2. 在“用户设置”(右侧窗格中)中添加以下行

    "javascript.format.placeOpenBraceOnNewLineForControlBlocks": true, 
    "javascript.format.placeOpenBraceOnNewLineForFunctions": true,
    
    "typescript.format.placeOpenBraceOnNewLineForControlBlocks": true,
    "typescript.format.placeOpenBraceOnNewLineForFunctions": true,
    
  3. 保存“用户设置”即可完成!


38
投票

转到文件\首选项\设置并搜索“brace”。

启用下图所示的设置。

这允许我在函数定义和控制块的下一行中使用大括号自动格式化代码。

使用 Visual Studio Code 1.30.2 进行测试


10
投票

需要PHP解决方案的人,需要安装

PHP Intelephense 
扩展并更新
settings.json
文件。

"intelephense.format.braces": "k&r" 

默认为

psr12


6
投票

默认情况下,VS code 不支持自定义格式。但是您可以使用 js-beautify 扩展进行格式自定义。您可以在 VS code Marketplace 上找到免费版本 (https://marketplace.visualstudio.com/items?itemName=HookyQR.beautify)。

对于新行上的大括号的要求,可以通过在项目根文件夹上创建“.jsbeautifyrc”配置文件并定义以下行来设置。

{
     "brace_style": "expand"
}

有关更多格式选项,您可以从以下链接找到: https://github.com/HookyQR/VSCodeBeautify/blob/master/Settings.md


4
投票

VSCode>文件>首选项>设置> 并取消选中 CSharpFixFormat>Style>Braces>On Same Line


3
投票

C_Cpp:Clang_format_fallback 样式

谷歌


2
投票

settings.json 文件中添加这些行,通过类型 ctrl+,

打开它
  // Brackets on a new line
  "javascript.format.placeOpenBraceOnNewLineForControlBlocks": true,
  "javascript.format.placeOpenBraceOnNewLineForFunctions": true,
  "typescript.format.placeOpenBraceOnNewLineForControlBlocks": true,
  "typescript.format.placeOpenBraceOnNewLineForFunctions": true,

或者从 settings 搜索 function new line 并选中两个框,通过类型 ctrl+shift+p 打开它并搜索 open 设置(json)


1
投票

仅供参考:如果是Java的话。文件\首选项\设置 扩展\Java\代码生成:使用块。


1
投票

2021 年,默认行为似乎正是 OP 想要的。要在 C# 中的同一行上获得大括号(带有omnisharp的 vscode 1.63),您必须在项目根目录中创建一个omnisharp.json文件,并使用正确的设置,如https://nosuchstudio.medium.com/formatting-curly-braces-中所述-在 c-in-vscode-c4937e1c215f 的同一行上。例如

{ "FormattingOptions": { "NewLinesForBracesInLambdaExpressionBody": false, "NewLinesForBracesInAnonymousMethods": false, "NewLinesForBracesInAnonymousTypes": false, "NewLinesForBracesInControlBlocks": false, "NewLinesForBracesInTypes": false, "NewLinesForBracesInMethods": false, "NewLinesForBracesInProperties": false, "NewLinesForBracesInObjectCollectionArrayInitializers": false, "NewLinesForBracesInAccessors": false, "NewLineForElse": false, "NewLineForCatch": false, "NewLineForFinally": false } }
    

0
投票

找到了 C# 的修复程序! 下载 Ironcutter24 的 C# Curly Formatter 扩展。完毕!现在你所有的牙套都将移动到新的一行。干净又漂亮。


-8
投票
以下说明适用于 VS Pro 2012...

    在菜单栏上选择“工具”。
  1. 选择选项...
  2. 展开文本编辑器列表。
  3. 展开 JavaScript 列表。
  4. 展开格式列表。
  5. 选择新线路。
  6. 为控制块选择将左大括号放在新行上。
我希望这有帮助。如果您有任何疑问,请随时回复。

© www.soinside.com 2019 - 2024. All rights reserved.