Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xcode/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xcode 4在新行上带有开口撑杆_Xcode_Xcode4 - Fatal编程技术网

Xcode 4在新行上带有开口撑杆

Xcode 4在新行上带有开口撑杆,xcode,xcode4,Xcode,Xcode4,新的Xcode 4似乎不再应用XCCodeSenseFormattingOptions。至少对我来说:( 不管怎么说,你知道如何在Xcode 4中把开始的括号放在新行以进行自动补全吗?我曾经在terminal中键入过这个,但它不适用于新的Xcode defaults write com.apple.Xcode XCCodeSenseFormattingOptions -dict BlockSeparator "\\n" PreMethodDeclSpacing "" 在Xcode 4中没有办法

新的Xcode 4似乎不再应用
XCCodeSenseFormattingOptions
。至少对我来说:(

不管怎么说,你知道如何在Xcode 4中把开始的括号放在新行以进行自动补全吗?我曾经在terminal中键入过这个,但它不适用于新的Xcode

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

在Xcode 4中没有办法这样做。请这样做。

Xcode 4使用“代码片段”进行自动完成,并附带了一个内置的代码片段库:您可以通过单击库窗格中的
{}
图标来查看代码片段库,该图标可能位于主Xcode窗口的右下方

所有XCode 4的内置代码段都将开始大括号放在与语句相同的行上–这是XCode 4针对
if
语句的代码段,例如:

if (<#condition#>) {
  <#statements#>
}
这是用于自动完成
if
语句的代码段。编辑
idecodesippetcontents
将开始的大括号放在新行上,保存您的工作,然后重新启动XCode 4;如果一切顺利,您应该能够键入
if
语句并查看结果


您需要再进行至少六次编辑,以涵盖最常见的自动完成(
for
while
,等等),如果你想彻底修改,需要大约40个单独的编辑。这是一项艰巨的工作,但是如果你真的真的真的想让XCode 4的自动补全功能将开始的大括号放在一行上,这是可以做到的。

只需截取一个覆盖苹果版本的用户代码。通过在补全快捷方式字段中输入相同的内容即可名称与默认截取的名称相同。查看此视频了解如何:

在这里查看我为Xcode 4.2修改的(系统范围)代码片段:


在Xcode 4.3.1中,如果您像Scott Forbes所描述的那样从终端以sudo的形式编辑以下文件,您可以更改开始大括号的显示位置。我想,它将随着Xcode的新安装而消失,因此我认为这是一个bug还有苹果

/Applications/Xcode.app/Contents/PlugIns/idecodesippetlibrary.ideplugin/Contents/Resources/systemcodesippets.codesippets


Leslie

我在Xcode4中使用了SnippetEdit,它的工作原理令人惊讶。它基本上可以让你用自己定义的新代码替换xcode提供的旧代码段。请参阅此处的更多信息:

我也有同样的问题。我在此处回答了一个类似的问题:(有一个应用程序用于此!)在这里,我要让自己面对一场火焰之战,但为什么不把大括号放在同一行上呢?例如,我看到的许多苹果代码的if或switch语句的大括号都在同一行上。方法的大括号通常在新行上,但这更受你的控制。在bug reporter中找不到它,所以我提交了一个文件bug--10613842感谢您提供了修改过的文件Sveinung!复制粘贴,从我测试的结果来看,它运行良好。(xCode 4.5b)很酷,很高兴知道4.5仍然支持这种“黑客”。我必须将它放在/Applications/Xcode.app/Contents/PlugIns/idecodesippetlibrary.ideplugin/Contents/Resources/systemcodesippets.codesippets中,但它在Xcode 4.4中工作。这对我不再有效,将文件添加到@arolson101的同一位置,现在没有大括号:((Xcode 4.4,Mountain Lion)你重新打开了Xcode吗?我刚刚在4.4和Mountain Lion上打开了。让我明天为你检查一下路径。有一个应用程序,你可以用来管理和编辑代码片段,名为。它减轻了代码片段管理的许多痛苦。还可以快速生成一个脚本,创建完全可编辑的“用户”覆盖“一成不变”默认设置的脚本:请注意,代码段编辑现在是免费的。这既令人沮丧又糟糕。@Deco不知道,有一段时间没有使用它了
if (<#condition#>) 
{
  <#statements#>
}
<dict>
    <key>IDECodeSnippetVersion</key>
    <integer>1</integer>
    <key>IDECodeSnippetCompletionPrefix</key>
    <string>if</string>
    <key>IDECodeSnippetContents</key>
    <string>if (&lt;#condition#&gt;) {
  &lt;#statements#&gt;
}</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>