似乎新的Xcode 4不再适用XCCodeSenseFormattingOptions了.至少对于我来说 :(
无论如何,你知道怎么把开口支架放到Xcode 4中自动完成的新线上吗?我以前在终端中输入这个,但它不适用于新的Xcode.
defaults write com.apple.Xcode XCCodeSenseFormattingOptions -dict BlockSeparator "\\n" PreMethodDeclSpacing ""
Run Code Online (Sandbox Code Playgroud)
Sco*_*bes 29
XCode 4使用"代码片段"进行自动完成,并附带内置库:您可以通过单击{ }"库"窗格中的图标来查看代码片段库,该图标可能位于图库窗格的右下方.你的主要XCode窗口.
所有XCode 4的内置代码片段都将开头大括号放在与语句相同的行上 - 这是XCode 4的if语句代码片段,例如:
if (<#condition#>) {
<#statements#>
}
Run Code Online (Sandbox Code Playgroud)
所以,如果您希望XCode 4自动完成,请执行以下操作:
if (<#condition#>)
{
<#statements#>
}
Run Code Online (Sandbox Code Playgroud)
...然后你必须相应地编辑代码片段.反过来,这会导致两个问题:
这些问题不是简单的更具挑战性defaults write的命令,在3 XCode的工作-但它是可能的,如果你确定,你可以编辑属性列表,钻研的XCode 4的胆量和修改这些代码片段逐一.
/Developer/Library/Xcode/PrivatePlugIns/IDECodeSnippetLibrary.ideplugin/Contents/Resources/SystemCodeSnippets.codesnippets包含XCode 4的内置代码片段库.这可能不言而喻,但你应该在收费和编辑之前备份这个文件 - 之后你应该再做一次备份,并用你新的和改进的代码片段留出一份文件的副本,因为你会几乎肯定会覆盖/Developer/Library/Xcode安装下一版XCode 4时的内容.(Apple也可能会更改此文件的格式,添加新的代码片段,或执行任何其他可能导致此答案失效的事情.)
如果你直接从App Store安装了Xcode 4.3或更高版本,那么一切都在Xcode.app包中.SystemCodeSnippets.codesnippets的路径是/Applications/Xcode.app/Contents/PlugIns/IDECodeSnippetLibrary.ideplugin/Contents/Resources/SystemCodeSnippets.codesnippets.
无论如何,你会发现上面的文件包含几个像这样的条目:
<dict>
<key>IDECodeSnippetVersion</key>
<integer>1</integer>
<key>IDECodeSnippetCompletionPrefix</key>
<string>if</string>
<key>IDECodeSnippetContents</key>
<string>if (<#condition#>) {
<#statements#>
}</string>
<key>IDECodeSnippetIdentifier</key>
<string>D70E6D11-0297-4BAB-88AA-86D5D5CBBC5D</string>
<key>IDECodeSnippetLanguage</key>
<string>Xcode.SourceCodeLanguage.C</string>
<key>IDECodeSnippetSummary</key>
<string>Used for executing code only when a certain condition is true.</string>
<key>IDECodeSnippetTitle</key>
<string>If Statement</string>
<key>IDECodeSnippetCompletionScopes</key>
<array>
<string>CodeBlock</string>
</array>
</dict>
Run Code Online (Sandbox Code Playgroud)
这是用于自动填充if语句的代码段.编辑IDECodeSnippetContents以将左大括号放在新行上,保存您的工作,然后重新启动XCode 4; 如果一切顺利,您应该能够键入一个if语句并查看结果.
你需要做至少有半打以上的编辑覆盖最常见的自动完成(for,while,等),如果你想成为彻底的,它会采取40名左右的地方单独编辑.这是一个大量的工作,但如果你真的,真的想要的XCode 4的自动完成功能,把你开括号在单独一行,是可以做到的.