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

问题描述 投票:0回答:4

我在 Xcode Code Sense 首选项中取消选中了“在弹出列表中显示参数”和“插入完成的参数占位符”,但是当我在编辑器中键入“else”(例如)时,Xcode 仍然会转储到预设置中格式化的“else”块。

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

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

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

xcode settings customization code-completion
4个回答
9
投票
您可以覆盖任何现有的代码完成,从以下位置复制任何 .xtcmacro 文件:

/Applications/Xcode.app/Contents/PlugIns/TextMacros.xctxtmacro

(除非您使用终端,否则您必须右键单击 Xcode.app 并说“显示包内容”才能继续沿着目录链向下移动)

进入本地目录:

~/Library/Application Support/Developer/Shared/Xcode/Specifications

(您可能必须创建规范目录)。 然后只需浏览其中的所有定义,为了消除烦人的完成,您可以删除任何条目的

CompletionPrefix

,或编辑要插入的代码以按照您喜欢的方式工作。

顺便说一句,您可以将任何名为 .xctxtmacro 的文件放入该规范目录中,它将被读入,从而允许您定义一些非常有用的自定义宏。


5
投票
“文本编辑”和“缩进”首选项部分可能有您需要的设置。

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


5
投票
您可以使用以下步骤

在 Xcode 中启用/禁用代码完成:

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

Screenshot-1 for steps

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

Screenshot-2 for steps


0
投票
Xcode 16 预测代码完成

如果您想禁用新的(不是很)智能的

预测代码完成功能:

defaults write com.apple.dt.Xcode IDEModelAccessHasUserConsentForOnDeviceInteractions -bool FALSE
然后,重新启动 Xcode 以使更改生效。


要重新启用此功能,请将 FALSE

 替换为 
TRUE

© www.soinside.com 2019 - 2024. All rights reserved.