2009-10-26 189 views
67

編輯:這很奇怪......如果我在歡迎屏幕中雙擊項目的最近項目項目,代碼感和着色工作得很好,但如果我只是點擊Open(在歡迎屏幕的右下角)它沒有。從File > Recent projects開始也不起作用,也沒有雙擊Finder中的.xcodeproj文件。爲iPhone OS 3.0的項目,我已經工作了幾個月xcode code sense color/completion not working


代碼感(通過不同的安裝/的Xcode版本)不能正常工作了。例如,如果我做NSString *myString,所有的代碼都是黑色的(沒有着色,沒有Option +雙擊,沒有代碼完成)。 Code Sense只對我自己的類/方法/屬性「起作用」,但對任何SDK類都不起作用。如果我從頭開始創建一個新項目,我確實有這些工作。

我已經嘗試更改此項目中的「所有配置的基礎SDK」。我已經嘗試過「重建代碼感索引」。我已經嘗試過「清理所有目標」。

首選項中的文檔已全部下載並正常工作。例如,如果我選擇上面的NSString並執行右鍵單擊 - >在文檔中查找文本,我會看到包含對該類所有引用的窗口。

任何想法將不勝感激。

+0

我只有一個項目類似的問題。代碼感顏色/完成只適用於其他項目。你解決了嗎? – 2010-03-19 05:34:25

+0

......新的sdk更新沒有問題。我注意到顏色解析需要幾秒鐘才能完成 – mga 2010-03-19 15:52:52

+1

我每次更改prefix.pch項目文件中添加的文件時,都會丟失自動完成和文本着色。下面的答案讓我回到了自動完成和文字着色,但是當我更改在prefix.pch中導入的文件時,錯誤仍然會回來。任何人發現如何解決這個問題? – booker 2012-04-26 23:06:34

回答

10

獲取有關Xcode項目的信息,並更改項目格式以匹配您使用的Xcode版本(截至撰寫本文時爲止,「Xcode 3.2兼容」)。

您也可以刪除派生數據,但除非您更新了項目格式,否則該錯誤將幾乎立即再次出現。 (它可以發生甚至更​​新項目格式後,但是我曾經有刪除DerivedData一天幾次,我想我既然固定項目只是做了一次。)

正如其他地方所指出,切換到LLVM可能會有所幫助。但是當我更新這個答案(2012)時,你應該使用LLVM。

+0

重新啓動Xcode幾次,並將這個偏好來回切換幾次。我將我的編譯器設置爲LLVM 2.1。 – 2011-05-31 05:24:10

2

除了我不得不點擊「重建代碼檢測索引」按鈕的tewha之外。它位於項目的「獲取信息」的「常規」選項卡的底部。

+0

可能是因爲你的聲望還不夠高 - 我不記得是什麼閾值 – 2010-09-02 15:41:36

+0

這可能是..謝謝。 – kolinko 2010-09-03 08:37:06

12

我在Xcode 4中遇到了同樣的問題,並通過將編譯器從GCC 4.2更改爲LLVM GCC 4.2來解決此問題。

+0

這明確解決了我的問題。謝謝托馬斯! – 2011-03-28 12:47:07

+0

這爲我們修復了它。謝謝! – Taum 2011-03-28 12:48:16

+0

這給我修好了!謝謝。 – Kyle 2011-04-11 13:21:44

1

從XCode4開始,語法着色,自動完成,跳轉到頭文件等等完全是我自己破壞的。我的符號導航器視圖完全是空的。沒有意識到自動完成對我的依賴程度如何,我的生產力下降了一個因素。奇怪的是,我的隊友們正在看到各種功能缺失的組合 - 只有我有幸失去了一切。 FWIW我是最新的MBP。

3

在Xcode 4.0.2中遇到同樣的問題。除了兩個文件,一個.m文件和其相應的.h文件外,代碼感應都可以工作。試了一切 - 除了重建代碼感索引,因爲我找不到任何地方的按鈕 - 沒有任何工作。最後,我刪除了相關文件,.m,.h和.xib。創建新文件,現在everthing按預期工作。

204

在Xcode 4中,我還沒有找到「Rebuild Code Sense」按鈕,但是如果你轉到Window - > Organizer,選擇Project選項卡,然後單擊「Delete ...」旁邊的Derived Data文件夾中,它似乎具有相同的效果。(我從http://blog.slidetorock.com/xcode-4-code-sense-autocompletion-problems得到了這個提示,這表明它從https://stackoverflow.com/questions/2138047/xcode-code-loses-syntax-coloring轉過來 - 但我沒有看到它的任何答案。)

+4

我試過重新啓動xcode,並嘗試將編譯器重置爲/從CGG/LLVM,但其他​​工作。這對我來說訣竅,謝謝! – 2011-07-22 18:15:31

+2

在XCode 4中爲我工作。 – Rodrigo 2011-09-30 14:08:42

+1

在XCode 4中爲我工作也 – barfoon 2011-10-02 20:41:12

0

對我而言,工作是將編譯器更改爲「LLVM編譯器2.0」。

0

除了3個或4個.m/.h文件以外,代碼感對大多數文件都有效。我嘗試了以上所有內容,唯一對我有用的是drct的解決方案。我關閉了xCode,將項目移到了不同​​的文件夾並重新打開。

我現在發現,如果我右鍵單擊項目導航器中的一個文件夾(或組),然後選擇「新建文件..」Code Sense不起作用。

如果相反,我使用主菜單並選擇'文件>>新建>>新建文件'代碼感覺工作正常。

4

似乎有無數的建議原因和解決這個問題,我想我已經嘗試了其中的大部分。什麼終於爲我工作(在Xcode 4.1)是:

  • 刪除項目導航
  • 轉會問題文件的引用從項目文件夾中的問題文件在Finder
  • 回到項目導航器,右鍵單擊並選擇添加文件...
  • 找到我剛剛移動的文件,並將它們添加回項目中,確保選中「將項目複製到目標組文件夾(如果需要)」。

代碼Sense恢復。

爲了更具體,我確切的問題是當我通過在項目導航器中右鍵單擊來創建一個新類時,約30-40%的時間代碼感在新類的頭文件中不起作用。有趣的是,它在實現中起作用。

事情我已經試過這失敗:

  • 刪除導出數據文件夾中的組織者
  • 刪除導出數據文件夾在Finder
  • 從頭創建一個全新的類(爲什麼這沒」 t工作我不知道)
  • 更改語法着色語言
  • 多次更改編譯器的所有選項
  • 指定一個特定的頭部搜索路徑

我想要其他可能的建議來結束這個問題,因爲它真的很煩人!

+0

這適用於XCode 9.3beta中的文件夾引用的子文件夾中的.hpp文件。他們僅被clang module.modulemap文件引用,該文件定義了每個模塊使用.hpp的情況。 9.1和9.3beta被打破,所有以上的失敗企圖也失敗了。只需刪除文件夾參考並將其添加回來。突出顯示返回的錯誤。 – Asher 2018-02-15 20:39:28

34

語法着色工作回來後,我做以下步驟:

  • 轉到管理器>項目>刪除當前的 項目導出的數據
  • 清潔&構建
  • 關閉&退出的XCode,並重新打開項目
  • 句子着色在項目重新索引後變得很好

P.S.

  • LLVM編者3.0
  • 我用-fno-objc弧編者標誌所有
  • 我的項目是在Xcode 4.2
+0

這適用於我,Xcode 4.2。 – 2012-01-04 06:37:04

+1

這對我有用,Xcode 4.3.2。 – 2012-04-04 19:21:37

+0

也在這裏工作,XCode 4.3.1!謝謝 – DZenBot 2012-04-12 19:02:44

0

一件事創建的第三方庫(如 ASIHTTPRequest)我今天遇到並且影響代碼着色的是我在Target - > Build Phases - > Compile Sources中意外添加了頭文件(.h)文件。一旦取消,代碼顏色神奇地回來:)

0

我有完全相同的問題,但沒有上述對我來說到底工作,我不得不打開Xcode中去

File>Open Recent> Clear Menu 

這個固定的問題對我來說,似乎是當我導入了一個github項目,在清除了最新版本之後搞砸了我的代碼感,然後重新打開項目後,一切正常。

1

我在我的一個.m文件中遇到了這個問題,並且在嘗試了很多上面的事情之後,發現XCode在某些時候刪除了.m擴展名。它仍然在項目導航器中列爲'Myclass.m',但右鍵單擊它並選擇Show in finder顯示該文件被稱爲'Myclass'(並且奇怪地放置在en.lproj子文件夾中!)。

從項目導航器中刪除該引用,重命名並移動文件並將其重新添加到項目中可以解決我的問題。

35

就在終端每次都需要

rm -fR ~/Library/Developer/Xcode/DerivedData 

正常工作時運行。突出顯示和codesense回給我! 有時需要使清潔回到工作。

注意:因爲我看到它刪除snapshost和另一個Xcode4'功能'。但我們不使用它:)

+5

這比這裏的其他答案要好。而且它不需要重新啓動XCode。 – Shiki 2012-05-05 00:35:38

+2

簡單而優秀的解決方案!謝謝! – Winston 2012-06-02 23:57:49

+1

這適用於我在Xcode 4.3.3 – Besi 2012-06-25 19:49:59

10

我找到了一種方法來避免這個錯誤。我看到每次我修改prefix.pch中導入的文件時都會出現該錯誤。

嘗試在UIKit.h和Fonudation.h上方的導入列表的頂部導入自己的文件,而不是像大家一樣在最後導入。

在我的前綴中。pch文件:

#ifdef __OBJC__ 
    #import "myFile.h" 
    #import <UIKit/UIKit.h> 
    #import <Foundation/Foundation.h> 
#endif 
+1

固定的我..愛你。什麼是頭痛 – Morgz 2012-06-26 11:12:28

+1

工作很好:)謝謝...編輯:只是開玩笑,改變命令並沒有讓我項目編譯。第二次編輯:如果myFile.h使用 ...現在可以工作,那麼需要小心! – VTS12 2012-07-10 19:27:24

2

如果您注意到這隻發生在您的某些文件上,請確保.m文件是您的目標的成員。

+0

好東西。這正是我需要的。 – 2012-11-14 21:33:16

+0

謝謝!由於幾個原因,我的語法突出顯示失敗,但這一次就是這樣。 – Form 2013-06-15 04:22:54

4

我也有這個問題。我之前關閉了索引來加速xcode操作,並且當時沒有意識到它會停止一些代碼高亮顯示。如果你這樣做,你可以通過在終端進入這個重新打開索引:

defaults write com.apple.dt.XCode IDEIndexDisable 0 

,如果你想打開索引斷開進入到這個終端:

defaults write com.apple.dt.XCode IDEIndexDisable 1 
1

爲「GCC_INCREASE_PRECOMPILED_HEADER_SHARING」的搜索在建立設置 並將其更改爲YES。 - 這對我有用!

enter image description here

0

在代碼中@end語句結束有時addding多行註釋防止自動完成在Xcode 6.0.1。我遇到過同樣的問題。只是檢查出來..

0

爲什麼我高興了我:)

我有這個問題,但那些日子她念叨我之前禁用的XCode索引的過程。

通過將此命令放入終端來解決它。我希望它能幫助別人。

defaults write com.apple.dt.XCode IDEIndexDisable 0 

是的,我使用的Xcode 7.0

+0

Felonious CodeMonk答案也很有用。 – 2015-10-15 07:26:41

0

在我的情況下,只有一個.m文件有這個問題。自動完成彈出正常,但不顯示所有內容。例如,當我鍵入「NS」時,自動完成只會彈出「NSMutableDictionary」,並且沒有其他任何東西!我嘗試了一切,到處搜索了1個小時+,但沒有任何修復。

然後出於好奇,我刪除了一個註釋塊,我之前粘貼在.m文件末尾(在@end字的下面)。刪除後,自動完成功能再次正常工作!

這裏的罪魁禍首: enter image description here

因此,如果您自動完成只在一個文件失敗,可能要檢查並刪除下面@end字的一切。

0

嘗試關閉並打開XCODE IDE。

-1

對於有人仍然不知道爲什麼。打開XCode 8.2爲我工作。看來最新的XCode得到了這個問題