web-dev-qa-db-ja.com

xcodeコードセンスの色/完了が機能しない

編集:これは奇妙です...ようこそ画面でプロジェクトの[最近使用したプロジェクト]アイテムをダブルクリックすると、コードの意味と色付けは問題なく動作しますが、[Open (ようこそ画面の右下)ありません。 File > Recent projectsから開くことも機能せず、Finderで.xcodeprojファイルをダブルクリックすることもできません。


数か月間(さまざまなインストール/バージョンのXCodeを使用して)作業してきたiPhone OS 3.0プロジェクトのコードセンスが機能しなくなりました。たとえば、NSString *myStringを実行すると、すべてのコードが黒になります(カラーリングなし、オプション+ダブルクリックなし、コード補完なし)。 Code Senseは、独自のクラス/メソッド/プロパティに対してのみ機能し、SDKクラスに対しては機能しません。新しいプロジェクトをゼロから作成する場合、これらはすべて機能します。

このプロジェクトの「すべての構成のベースSDK」を変更しようとしました。すでに「コードセンスインデックスの再構築」を試しました。私はすでに「すべてのターゲットをクリーニング」を試しました。

環境設定のドキュメントはすべてダウンロードされ、機能しています。たとえば、上記のNSStringを選択し、ドキュメント内で右クリック->テキストの検索を実行すると、クラスへのすべての参照を含むウィンドウが表示されます。

どんなアイデアでも大歓迎です。

68
mga

Xcodeでプロジェクトの情報を取得し、使用しているXcodeのバージョンに合わせてプロジェクト形式を変更します(この記事の執筆時点では、「Xcode 3.2互換」)。

派生データも削除できますが、プロジェクト形式を更新しない限り、バグはほぼすぐに再発します。 (それはmayプロジェクト形式を更新した後でも起こりますが、以前はDerivedDataを1日に数回削除する必要があり、プロジェクトを修正してから一度だけ行ったと思います。)

別の場所で述べたように、LLVMへの切り替えが役立つ場合があります。しかし、この回答(2012)を更新するとき、とにかくLLVMを使用する必要があります。

10
Steven Fisher

Xcode 4では、「コードセンスの再構築」ボタンも見つかりませんでしたが、[ウィンドウ]-> [オーガナイザー]に移動して[プロジェクト]タブを選択し、派生データフォルダーの横にある[削除...]をクリックします、同じ効果があるようです。 (私は http://blog.slidetorock.com/xcode-4-code-sense-autocompletion-problems からヒントを得ました。これは https: //stackoverflow.com/questions/2138047/xcode-code-loses-syntax-coloring -しかし、私はそこのどの回答にも見当たりません。非常に興味があります。)

204
Arkaaito

次の手順を実行すると、構文の色付けが元に戻ります。

  • [オーガナイザー]> [プロジェクト]> [派生データを現在のプロジェクトから削除]に移動します
  • クリーン&ビルド
  • XCodeを閉じて終了し、プロジェクトを再度開きます
  • プロジェクトのインデックス再作成後、構文の色付けが適切になります

追伸.

  • LLVM Complier 3.0
  • すべてのサードパーティライブラリ(-ASIHTTPRequestなど)に-fno-objc-arc Complier Flagsを使用しました
  • 私のプロジェクトはXCode 4.2から作成されます
36
karlogeo

必要なときに毎回ターミナルで実行するだけです

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

正常に動作します。ハイライトとコードセンスが戻ってきました!それを機能させるためにMake Cleanが必要になる場合がありました。

注:ご覧のとおり、snapshostと別のXcode4の「機能」を削除しています。ただし、使用していません:)

35
Sergey Kopanev

Xcode 4でも同じ問題が発生し、コンパイラをGCC 4.2からLLVM GCC 4.2に変更することで解決しました。

12
Thomas Müller

このバグを回避する方法を見つけました。 prefix.pchにインポートされたファイルを修正するたびにバグが表示されるのを見てきました。

UIKit.hおよびFonudation.hの上にあるインポートされたリストの一番上にある自分のファイルをインポートしてみてください。誰もがそうするように最後にではありません。

Prefix.pchファイルで:

#ifdef __OBJC__
    #import "myFile.h"
    #import <UIKit/UIKit.h>
    #import <Foundation/Foundation.h>
#endif
10
booker

私もこの問題を抱えていました。以前はインデックス作成をオフにしてXcode操作を高速化していましたが、その時点でコードの強調表示の一部が停止することに気付きませんでした。これを行った場合、ターミナルでこれを入力することにより、インデックスをオンに戻すことができます:

defaults write com.Apple.dt.XCode IDEIndexDisable 0

インデックスをオフにしたい場合、これをターミナルに入力してください:

defaults write com.Apple.dt.XCode IDEIndexDisable 1
4

この問題に対する提案された原因と解決策は無数にあるようで、私はそれらの大部分を試したと思います。 (Xcode 4.1で)最終的に私のために働いたのは:

  • プロジェクトナビゲータ内の問題ファイルへの参照を削除する
  • finderのプロジェクトフォルダーから問題ファイルを移動する
  • プロジェクトナビゲータに戻り、右クリックして「ファイルを追加...」を選択します.
  • 移動したファイルを見つけてプロジェクトに追加し直し、「コピー先グループのフォルダーにアイテムをコピー(必要な場合)」が選択されていることを確認します。

コードセンスが復元されました。

具体的には、プロジェクトナビゲータで右クリックして新しいクラスを作成するときに正確な問題が発生します。新しいクラスのヘッダーファイルでは、コードセンスの約30〜40%が機能しません。興味深いことに、実装では機能します。

私が試したものは失敗しました:

  • オーガナイザーの派生データフォルダーの削除
  • finderで派生データフォルダーを削除する
  • まったく新しいクラスをゼロから作成する(これがうまくいかなかった理由はわかりません。)
  • シンタックスカラーリング言語の変更
  • すべてのオプションとの間でコンパイラを複数回変更する
  • 特定のヘッダー検索パスを指定する

私はこの問題に終止符を打つために他の可能な提案が欲しいのですが、それは本当に迷惑です!

4
GnarlyDog

Xcode 4.0.2でも同じ問題がありました。コードセンスは、1つの.mファイルとそれに対応する.hファイルの2つを除くすべてのファイルで機能していました。どこでもボタンが見つからなかったため、コードセンスインデックスを再構築することを除いて、すべてを試してみましたが、何も機能しませんでした。最後に、相関ファイル、.m、.h、および.xibを削除しました。新しいファイルを作成し、すべてが期待どおりに動作するようになりました。

3
drct

これが一部のファイルでのみ発生していることに気付いた場合は、.mファイルがターゲットのメンバーであることを確認してください。

2
Andy

Tewhaが行ったことに加えて、[コードセンスインデックスの再構築]ボタンをクリックする必要がありました。プロジェクトの[情報を見る]の[全般]タブの下部にあります。

2
kolinko

構文の色付け、自動補完、ヘッダーファイルへのジャンプなどは、XCode4以来完全に破壊されました。シンボルナビゲータービューは完全に空です。私がオートコンプリートにどれほど依存するようになったのか気づかなかったので、私の生産性は一要素低下しました。奇妙なのは、チームメイトが欠落している機能のさまざまな組み合わせを見ていることです-すべてを失ったのは私だけが幸運です。 FWIW最新世代のMBPを使用しています。

1
Sunil Gowda

.mファイルの1つだけでこの問題が発生し、上記の多くのことを試してみたところ、XCodeはある時点で.m拡張子を削除していたことが判明しました。プロジェクトナビゲーターにはまだ「Myclass.m」としてリストされていましたが、右クリックして「Finderで表示」を選択すると、ファイルは単に「Myclass」と呼ばれました(そして、奇妙なことにen.lprojサブフォルダーに置かれました!).

プロジェクトナビゲータから参照を削除し、ファイルの名前を変更して移動し、プロジェクトに再度追加すると、問題が解決しました。

1
MarkusEkblad

ビルド設定で「GCC_INCREASE_PRECOMPILED_HEADER_SHARING」を検索し、YESに変更します。 -これは私のために働いた!

enter image description here

1
thatzprem

コードの@endステートメントの最後に複数行のコメントを追加すると、Xcode 6.0.1での自動補完が妨げられることがあります。同じ問題がありました。チェックしてみてください。

0
Dhaval H. Nena

3つまたは4つの.m/.hファイルを除き、ほとんどのファイルでコードセンスが機能していました。上記のすべてを試してみましたが、私にとってうまくいったのはdrctの解決策だけでした。 xCodeを閉じ、プロジェクトを別のフォルダーに移動して、再度開きました。

Project Navigatorでフォルダー(またはグループ)を右クリックし、[新しいファイル]を選択すると、コードセンスが機能しなくなります。

代わりに、メインメニューを使用し、[ファイル] >> [新規] >> [新しいファイル]を選択すると、コードセンスは正常に機能します。

0
Niall

私はまったく同じ問題を抱えていましたが、最終的にxcodeを開かなければならなかった上記のどれも私のために機能しませんでした

File>Open Recent> Clear Menu

これは私にとって問題を修正しました.Recentsをクリアしてからプロジェクトを再度開いた後、コードセンスを台無しにするgithubプロジェクトをインポートしたとき、すべてが正常に機能したようです。

0

私のために働いたのは、コンパイラを「LLVM Compiler 2.0」に変更することでした。

0
Chris Livdahl

今日私が遭遇し、コードの色付けに影響したことの1つは、誤ってヘッダー(.h)ファイルを[ターゲット]-> [ビルドフェーズ]-> [ソースのコンパイル]に追加したことです。削除されると、コードの色が魔法のように戻ってきました:)

0
Marko Hlebar

私の場合、この問題があるのは1つの.mファイルだけです。オートコンプリートは正常にポップアップしますが、すべてが表示されるわけではありません。たとえば、「NS」と入力すると、「NSMutableDictionary」のみでオートコンプリートがポップアップし、他には何もありません!私はすべてを試し、1時間以上検索しましたが、何も修正しませんでした。

好奇心から、以前に.mファイルの末尾(@end Wordの下)に貼り付けたコメントブロックを削除しました。それを削除した後、オートコンプリートは通常どおり再び機能します!

犯人は次のとおりです。 enter image description here

そのため、オートコンプリートが1つのファイルでのみ失敗する場合は、それを確認し、@ end Word以下のすべてを削除することをお勧めします。

0
GeneCode

XCODE IDEを閉じて、開いてみてください。

0
idanuda

なぜ再び幸せになったのか:)

私はこの問題を抱えていましたが、XCodeのインデックス作成プロセスを無効にする前の数日です。

このコマンドを端末に配置することで解決しました。私はそれが誰かを助けることを願っています。

defaults write com.Apple.dt.XCode IDEIndexDisable 0

はい、Xcode 7.0を使用しています

0