2010-02-07 183 views
12

我已經在Xcode代碼預見的喜好取消選中兩個「在彈出的列表顯示參數」和「插入參數佔位符的完成」,但是當我鍵入「其他」(例如)在編輯器中,Xcode中仍然處於預轉儲格式化的「其他」塊。有沒有辦法禁用或修改Xcode的代碼完成?

有沒有辦法完全禁用此功能,或(更好的)來修改Xcode中插入塊?默認的Xcode「else」塊與我的編碼風格不符,所以佔位符實際上阻礙了我的生產力而不是幫助。

UPDATE:我剛剛發現this question介紹如何更改用於代碼完成的默認縮進和空白,使回答我的問題下半年。

更新#2:設置 「自動提示」 爲 「從不」,爲suggested by outis有效地禁用全部代碼完成。我想我正在尋找的是一種方法來禁用特定的代碼完成(如「else」塊),同時保留變量和方法名稱的所有常用完成。

+0

您正在使用哪個的XCode的版本? – outis 2010-02-07 22:57:25

+0

我正在使用版本3.2 – 2010-02-07 22:58:23

+0

XCode插入塊還是僅僅提示它? – outis 2010-02-07 23:04:13

回答

8

您可以覆蓋現有的任何代碼補全的,從複製任何.xtcmacro文件:

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

(你必須要在Xcode.app右鍵單擊並說「顯示包內容」進一步繼續向下的目錄鏈,除非你正在使用終端)

到本地目錄:

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

(您可能會不得不作出規範目錄)。然後簡單地通過那裏的所有定義,爲了消除令人討厭的完成,您可以爲任何條目取出CompletionPrefix,或者編輯要插入的代碼以使其符合您的喜好。

在一個側面說明,你可以把.xctxtmacro命名的任何文件,並把它放在規範目錄,它會被讀取,允許你定義一些非常有用的自定義宏。

+0

看起來很有希望。 Xcode.app/contents中的原始.xctxtmacro文件會在以後升級Xcode時再次出現嗎? – 2010-02-08 07:23:51

+0

是的,事實上,你不應該將它們移出XCode,只需將它們複製到規格中,因爲你所做的任何更改都會覆蓋它們......當你升級XCode時,你會重寫所有這些設置,但它們不會經常改變。重寫那些打擾你的特定條目並且不覆蓋其他任何東西(從規範中的文件中刪除)仍然會更好。 – 2010-02-08 20:25:46

+1

在xcode 4.5.2中我不存在PlugIns目錄。它感動了嗎? – 2013-01-11 18:55:15

5

「文本編輯」和「縮進」偏好部分可能有你所尋求的設置。

您可以將「自動建議」設置爲「從不」。

+0

合理的猜測,但我還沒有發現任何會影響代碼完成的面板。 – 2010-02-07 22:58:55

+0

將「自動建議」設置爲「從不」會擺脫*全部*代碼完成,包括變量和方法以及所有我定期使用的好東西':(' – 2010-02-07 23:21:05

+0

如何將它設置爲「延遲」你也可以使用F5,alt-esc或「^」來獲得完成列表 – outis 2010-02-07 23:43:32

1
+0

看起來這篇文章與Kendall Helmstetter Gelner在他的回答中所做的一樣(除非我錯過了一些額外的東西)。它*是一篇很好的文章,所以非常感謝您發表。 +1 – 2010-07-13 20:20:28

+0

從這篇文章中,我用它來設置(在Terminal.app中): 默認寫入com.apple.Xcode XCCodeSenseFormattingOptions'{「PreExpressionsSpacing」=「」; 「BlockSeparator」=「\ n」; }」 – Eljay 2010-07-16 15:42:46

4

可以使在Xcode /禁用代碼完成使用下面的步驟:

  1. 點擊左上角Xcode菜單上出現
  2. 選擇Preferences...(偏好彈出)

Screenshot-1 for steps

  • 選擇Text Editing菜單
  • 參見Code Completion
  • 取消選中Suggest completion while typing選項。
  • Screenshot-2 for steps