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';什么是代码完成?_Xcode_Settings_Customization_Code Completion - Fatal编程技术网

有没有办法禁用或修改Xcode';什么是代码完成?

有没有办法禁用或修改Xcode';什么是代码完成?,xcode,settings,customization,code-completion,Xcode,Settings,Customization,Code Completion,我已经在Xcode代码感知首选项中取消选中了“在弹出列表中显示参数”和“为完成插入参数占位符”,但是当我在编辑器中键入“else”(例如)时,Xcode仍然转储在预先格式化的“else”块中 有没有办法完全禁用此功能,或者(更好的)修改Xcode插入的块?默认的Xcode“else”块与我的编码风格不匹配,因此占位符实际上妨碍了我的工作效率,而不是帮助我 更新:我刚刚找到了一个描述如何更改用于代码完成的默认缩进和空格的文件,这样就回答了我问题的后半部分 更新#2:将“自动建议”设置为“从不”,因

我已经在Xcode代码感知首选项中取消选中了“在弹出列表中显示参数”和“为完成插入参数占位符”,但是当我在编辑器中键入“else”(例如)时,Xcode仍然转储在预先格式化的“else”块中

有没有办法完全禁用此功能,或者(更好的)修改Xcode插入的块?默认的Xcode“else”块与我的编码风格不匹配,因此占位符实际上妨碍了我的工作效率,而不是帮助我

更新:我刚刚找到了一个描述如何更改用于代码完成的默认缩进和空格的文件,这样就回答了我问题的后半部分

更新#2:将“自动建议”设置为“从不”,因为这样会完全禁用代码完成。我想我要寻找的是一种禁用特定代码完成(如“else”块)的方法,同时保留变量名和方法名的所有常规完成。

文本编辑和“缩进”首选项部分可能有您想要的设置


您可以将“自动建议”设置为“从不”。

您可以覆盖任何现有代码完成,从以下位置复制任何.xtcmacro文件:

/Applications/Xcode.app/Contents/PlugIns/TextMacros.xctxtmacro
(除非您使用的是终端,否则您必须右键单击Xcode.app并说“显示软件包内容”才能继续沿着目录链往下走)

进入本地目录:

~/Library/Application Support/Developer/Shared/Xcode/Specifications
(您可能需要创建规范目录)。然后,只需浏览其中的所有定义,为了消除恼人的补全,您可以删除任何条目的
CompletionPrefix
,或者编辑要插入的代码,以便按照您喜欢的方式工作


另一方面,您可以将任何名为.xctxtmacro的文件放入该规范目录,然后将其读入,从而允许您定义一些非常有用的自定义宏。

此处的信息是否有帮助

您可以使用以下步骤在Xcode中启用/禁用代码完成:

  • 点击左上角的
    Xcode
    菜单
  • 选择首选项…(出现首选项弹出窗口)
  • 选择
    文本编辑
    菜单
  • 请参见
    代码完成
  • 在键入时取消选中“建议完成”选项

  • 您使用的是哪个版本的XCode?XCode是插入块还是仅仅建议它?我不得不说“建议”,因为它显示为灰色,如果我使用箭头键,它将消失。问题是,如果我按enter键,它实际上会被插入,这是我通常在键入“else”后所做的。这是一个合理的猜测,但我在这些面板中没有发现任何会影响代码完成的内容。将“automatic Suggest”设置为“never”将消除所有代码完成,包括变量和方法以及我经常使用的所有好东西
    :(
    如何将其设置为“带延迟”?您也可以使用F5、alt esc或“^,”获取完成列表。我很感谢你的建议。我对变量和方法名称的即时自动完成非常依赖,以至于即使是很短的延迟或另一次击键都会让我发疯。我只是在没有考虑的情况下键入类似NSDi的内容。我知道我在这里很挑剔。我问这个问题的目的是为了挤时间通过微调,您可以获得最后2%的额外生产力。我支持您不要延迟。我只是建议这样做,因为这比切换到1TB更让您不舒服。幸运的是,另一个问题似乎有一个完整的解决方案。这看起来很有希望。
    Xcode.app中的原始.xctxtmacro文件/内容
    在稍后升级Xcode时会重新出现?是的,事实上,您不应该将其移出Xcode,只需将其复制到规范中,因为您所做的任何更改都将覆盖它们…升级Xcode时,您将覆盖所有这些设置,但它们不会经常更改。覆盖speci仍然会更好困扰您且未覆盖任何其他内容的fic条目(从规范中的文件中删除).插件目录在xcode 4.5.2中对我来说不存在。它移动了吗?我刚刚修复了路径,xcode不再在Developer中…但插件应该仍然存在。该目录中的所有内容都有扩展名
    。ideplugin
    。看起来这篇文章给出的建议与Kendall Helmstetter Gelner在回答中给出的建议相同(除非我遗漏了一些额外的东西)。这是一篇好文章,但是,谢谢你发布它。+1从这篇文章中,我将它用于我的设置(在Terminal.app中):默认写com.apple.Xcode xcodesenseformatingoptions'{“preexpressionspacing”=”;“BlockSeparator”=“\n”}