有没有办法让XCode Brackets出现在下一行?

时间:2010-06-26 16:25:27

标签: macos xcode

在XCode中,自动完成的第一个括号出现在同一行:

    if (<#condition#>) {
        <#statements#>
    }

有没有办法让它看起来像这样,所以我不必每次都改变它?

    if (<#condition#>)
    {
        <#statements#>
    }

1 个答案:

答案 0 :(得分:5)

您可以通过编辑Xcode宏文件来修改它。

  • 将Xcode C宏文件复制到用户的Xcode宏目录:

    mkdir -p~ / Library / Application Support / Developer / Shared / Xcode / Specifications&amp;&amp; \ cp /Developer/Applications/Xcode.app/Contents/PlugIns/TextMacros.xctxtmacro/Contents/Resources/C.xctxtmacro~ / Library / Application \ Support / Developer / Shared / Xcode / Specifications

  • 我发现xml更容易阅读,并且通常会将宏文件转换为xml1

    plutil -convert xml1 C.xctcmacro

  • 编辑新样式的宏文件

    cd $ SpecificationsDir /&amp;&amp; vim C.xctxtmacro

  • 您将在第46行附近找到相关部分作为c.block标识符的一部分。如果你在$(BlockSeparator)之后添加一个断裂线,那么它将扩展到那个。

此时您可能会注意到一个名为“BlockSeparator”的有趣外观键。如果您希望此样式适用于所有语言的所有块(而for,for,switch等),则有一条更简单的路径:

defaults write com.apple.Xcode XCCodeSenseFormattingOptions '{ "BlockSeparator" = "\n" ; }'

您可以通过阅读已有的xcode宏来了解有关xcode宏的更多信息。在文档的Xcode Editor部分对它们进行了(痛苦的简短)评论。