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

时间:2015-10-02 05:14:21

标签: javascript formatting code-formatting visual-studio-code

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

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

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

if (condition)
{
    // Hello!
}

如果是JavaScript,VSCode将其格式化为:

if (condition) {
    // Hello!
}

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

9 个答案:

答案 0 :(得分:41)

按照以下步骤使 Visual Studio代码格式在 Java脚本类型脚本的新行上打开花括号。

Visual Studio代码(v1.20.0)

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

    "javascript.format.placeOpenBraceOnNewLineForControlBlocks": true, 
    "javascript.format.placeOpenBraceOnNewLineForFunctions": true,
    
    "typescript.format.placeOpenBraceOnNewLineForControlBlocks": true,
    "typescript.format.placeOpenBraceOnNewLineForFunctions": true,
    
  3. 保存'用户设置',您就完成了!

答案 1 :(得分:6)

我认为在条件声明中没有副作用,但在返回声明中存在问题。请检查此链接:https://web.archive.org/web/20160421051556/http://encosia.com/in-javascript-curly-brace-placement-matters-an-example/http://encosia.com/in-javascript-curly-brace-placement-matters-an-example/

如果您想学习javascript,我建议您阅读Douglas Crockford撰写的“JavaScript:The Good Parts”一书。

答案 2 :(得分:5)

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

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

$arrayYouHave = array(...);

    $buffer = [];
    foreach ($arrayYouHave as $key => $array) {
        foreach ($array as $itemKey => $items) {
            foreach ($items as $item) {
                $buffer[$key][$itemKey][reset($item)][] = key($item);
            }
        }
    }

$arrayYouNeed = [];

    foreach ($buffer as $key => $array) {
        foreach ($array as $arrKey => $items) {
            foreach ($items as $itemKey => $itemNames) {
                if (count($itemNames) > 1) {
                    $arrayYouNeed[$key][$arrKey][$itemKey] = $itemNames;
                }
            }
        }
    }

echo "<pre>"; die(print_r($arrayYouNeed));

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

答案 3 :(得分:5)

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

启用以下所示的设置。

这使我能够在下面的行中使用花括号自动格式化代码,以定义函数定义和控制块。

File\Preferences\Settings

经过Visual Studio Code 1.30.2的测试

答案 4 :(得分:1)

VSCode>File>Preferences>Settings> 并取消选中 CSharpFixFormat>Style>Braces>On Same Line enter image description here

答案 5 :(得分:1)

需要PHP解决方案的人,需要安装PHP Intelephense 扩展并更新settings.json文件。

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

默认为 psr12

答案 6 :(得分:0)

要回答这个问题,您无法在VSCode中自定义自动格式,但您可以在此处投票赞成功能请求:https://visualstudio.uservoice.com/forums/293070-visual-studio-code/suggestions/7756212-format-beautify-source-code

答案 7 :(得分:0)

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

答案 8 :(得分:-3)

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

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