有没有办法禁用或修改Xcode的代码完成?

e.J*_*mes 14 settings xcode customization code-completion

我在Xcode Code Sense首选项中取消选中"在弹出列表中显示参数"和"为完成插入参数占位符",但是当我在编辑器中键入"else"(例如)时,Xcode仍然以预先格式化转储"别的"块.

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

更新:我刚刚发现这个问题描述了如何更改默认缩进和用于代码完成的空格,以便回答我问题的后半部分.

更新#2:将"自动建议"设置为"从不",由outis建议有效地完全禁用代码完成.我想我正在寻找的是一种禁用特定代码完成的方法(比如"else"块),同时保留变量和方法名称的所有常用完成.

Ken*_*ner 8

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

/Applications/Xcode.app/Contents/PlugIns/TextMacros.xctxtmacro
Run Code Online (Sandbox Code Playgroud)

(您必须右键单击Xco​​de.app并说"显示包内容"以继续沿着目录链继续,除非您使用终端)

进入本地目录:

~/Library/Application Support/Developer/Shared/Xcode/Specifications
Run Code Online (Sandbox Code Playgroud)

(您可能必须制作规范目录).然后简单地浏览那里的所有定义,消除烦人的完成,你可以取出CompletionPrefix任何条目,或者编辑要插入的代码以便按你喜欢的方式工作.

在旁注中,您可以放置​​名为.xctxtmacro的任何文件并将其放在该规范目录中,它将被读入,允许您定义一些非常有用的自定义宏.

  • 我在Xcode 7中找不到`TextMacros`. (2认同)

out*_*tis 5

"文本编辑"和"缩进"首选项部分可能具有您要搜索的设置.

您可以将"自动建议"设置为"从不".


Jay*_*bey 5

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

  1. 点击Xcode左上角的菜单
  2. 选择Preferences...(出现首选项弹出窗口)

步骤截图-1

  1. 选择Text Editing菜单
  2. Code Completion
  3. 取消选中Suggest completion while typing选项。

步骤截图-2