XCode 3.2:更改默认的“Code Sense”缩进和空格

时间:2009-10-01 08:47:05

标签: xcode macros osx-snow-leopard indentation xcode3.2

我正在使用XCode 3.2(在“Snow Leopard”上),它仍然具有这个漂亮的“文本宏”自动完成功能(例如,如果你输入if,它将扩展为{{1 }})。这些宏也可通过“编辑 - >插入文本宏”获得。

不幸的是,默认模板与我心爱的缩进和空白样式不匹配,所以我想修改它们。

根据this slightly outdated StackOverflow thread,相应的定义应该位于if (<#condition#>) { <#statements#> },但我找不到使用Snow Leopard和XCode 3.2的任何内容(不确定哪一个负责)。

有没有人注意到Apple定义的文本宏现在在哪里?

2 个答案:

答案 0 :(得分:21)

我系统上唯一的**。xctxtmacro *文件位于XCode.app包中。在快速查看定义后,我发现了一种完全不同的方式来调整所有预定义宏的格式:

您只需设置XCCodeSenseFormattingOptions用户默认值即可修改所有宏中的默认换行符和其他空格!

例如,宏“if-else”默认情况下如下所示:

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

执行命令后

defaults write com.apple.Xcode XCCodeSenseFormattingOptions
-dict PreExpressionsSpacing "" BlockSeparator "\n" PostBlockSeparator "\n"

它看起来像这样(我更喜欢):

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

答案 1 :(得分:0)

我相信&#34;默认写com.apple.Xcode&#34;不会使用最新版本的Xcode。

解决方法是编辑默认的代码段。

但是,Xcode不允许修改默认的代码片段。

为了修改它们,您可以下载一个&#34; Snippet Edit&#34;程序来自here