我在 Xcode Code Sense 首选项中取消选中了“在弹出列表中显示参数”和“插入完成的参数占位符”,但是当我在编辑器中键入“else”(例如)时,Xcode 仍然会转储到预设置中格式化的“else”块。
有没有办法完全禁用此功能,或者(更好)修改 Xcode 插入的块?默认的 Xcode“else”块与我的编码风格不匹配,因此占位符实际上阻碍了我的工作效率而不是提供帮助。
更新:我刚刚发现这个问题它描述了如何更改用于代码完成的默认缩进和空格,以便回答我问题的后半部分。
更新#2:将“自动建议”设置为“从不”,如outis建议的那样,有效地完全禁用代码完成。我想我正在寻找的是一种禁用特定代码完成的方法(如“else”块),同时保留变量和方法名称的所有常见完成。
/Applications/Xcode.app/Contents/PlugIns/TextMacros.xctxtmacro
(除非您使用终端,否则您必须右键单击 Xcode.app 并说“显示包内容”才能继续沿着目录链向下移动)
进入本地目录:
~/Library/Application Support/Developer/Shared/Xcode/Specifications
(您可能必须创建规范目录)。 然后只需浏览其中的所有定义,为了消除烦人的完成,您可以删除任何条目的
CompletionPrefix
,或编辑要插入的代码以按照您喜欢的方式工作。顺便说一句,您可以将任何名为 .xctxtmacro 的文件放入该规范目录中,它将被读入,从而允许您定义一些非常有用的自定义宏。
您可以将“自动建议”设置为“从不”。
预测代码完成功能:
defaults write com.apple.dt.Xcode IDEModelAccessHasUserConsentForOnDeviceInteractions -bool FALSE
然后,重新启动 Xcode 以使更改生效。
要重新启用此功能,请将 FALSE
替换为
TRUE
。