繁体   English   中英

如何设置 VSCode 以将大括号放在新行上?

[英]How do I set up VSCode to put curly braces on a new line?

假设我输入以下代码并对其进行格式化。

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

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

if (condition)
{
    // Hello!
}

如果是 JavaScript,VSCode 格式如下:

if (condition) {
    // Hello!
}

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

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

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. 保存“用户设置”就大功告成了!

转到 File\\Preferences\\Settings 并搜索“brace”。

启用下图所示的设置。

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

文件\\首选项\\设置

使用 Visual Studio Code 1.30.2 测试

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

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

{
     "brace_style": "expand"
}

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

那些需要PHP解决方案的人,您需要安装PHP Intelephense Extension 并更新settings.json文件。

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

默认情况下它是psr12

我认为在条件声明中没有副作用,但在返回声明中存在问题。 请访问此链接: https//web.archive.org/web/20160421051556/http : //encosia.com/in-javascript-curly-brace-placement-matters-an-example/http : //encosia.com/在-JavaScript的大括号放置位置的事项-AN-示例/

如果你想学习javascript,我建议你阅读道格拉斯克罗克福德的书“JavaScript:The Good Parts”。

C_Cpp:Clang_format_fallback 样式

谷歌

VSCode>File>Preferences>Settings> <type "brace" (without quotas)> 并取消选中 CSharpFixFormat>Style>Braces>On Same Line 在此处输入图片说明

要回答这个问题,您还不能在 VSCode 中自定义自动格式化,但您可以在此处为功能请求投票: https ://visualstudio.uservoice.com/forums/293070-visual-studio-code/suggestions/7756212 -格式美化源代码

仅供参考:如果是Java。 File\\preferences\\settings Extensions\\Java\\Code Generation:使用块。 Java 代码块

settings.json文件中添加这些行,按ctrl+打开它

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

或者从设置搜索功能新行并选中两个框,按ctrl+shift+p打开它并搜索打开设置(json)

在此处输入图片说明

在 2021 年,默认行为似乎是 OP 想要的。 要在 c# 中的同一行(vscode 1.63 with omnisharp)中使用大括号,您必须在项目根目录中创建一个 omnisharp.json 文件,并按照https://nosuchstudio.medium.com/formatting-curly-braces-on 中所述进行适当的设置-the-same-line-in-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
}

}

以下说明适用于 VS Pro 2012...

  1. 在菜单栏上选择工具。
  2. 选择选项...
  3. 展开文本编辑器列表。
  4. 展开 JavaScript 列表。
  5. 展开格式列表。
  6. 选择新行。
  7. 为控制块选择在新行上放置左括号。

我希望这是有帮助的。 如果您有任何问题,请随时回复。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM