web-dev-qa-db-ja.com

Xcode:コードは構文の色付けを失います

さまざまな状況で、Xcode 3.1(Leopard)のObjective-Cコードは、入力後に適切な構文の色付けに失敗したり、色付けを失ったりすることがあります。

これは、新しいカスタムシンボルの「更新」問題だけでなく、Cocoaフレームワークシンボルにも影響します。

コードページのすべてのテキストを選択するCMD-aで色付け(再)が表示されることがあります。行をダブルクリックして選択すると機能することもあります。 (再)色に。プロジェクトの再構築、またはプロジェクトの終了/再開は機能する場合と機能しない場合があります。

これはXcodeの既知の問題ですか?私にとって非常に厄介なことのために、SOおよび私が期待する他の場所でそれに関する豊富な議論を見つけていません。

また、グローバルな構文の色変更を強制するコマンドはありますか?

80
ColorMeFamous

1.)プロジェクトに移動->ビルド設定->ヘッダー検索パス

2.)「$(SRCROOT)/ **」を追加します

3.)プロジェクトを閉じてリロードする

4.)Xcodeに移動->ウィンドウ->オーガナイザー->プロジェクト-> $ YourProject->派生データの削除

5.)XCodeがすべてのインデックスを再構築するまでしばらく待ちます


詳細情報を取得するには、詳細ログを有効にします。

1.)ターミナルアプリのXcodeログレベルを上げます。デフォルトでは、com.Apple.dt.Xcode IDEIndexingClangInvocationLogLevel 3が書き込まれます。

2.)コンソールアプリを開きます。 「xcode」を検索

3.)pchファイルに記載されているヘッダーファイルに「ファイルが見つかりません」というエラーが表示された(したがって、上記の修正)

147
Lars Schneider

Xcode 3で問題がなく、Xcode 4で構文の強調表示とコード補完が壊れたプロジェクトでも同じ問題が発生しました。私のために問題を100%再現/修正してください。

前述のすべての解決策を試してみた後、プロジェクトをゼロから作成し、すべてのファイルとフォルダを苦労して再インポートしました。いくつかのファイルをインポートするたびにチェックしましたが、構文の強調表示はまだ機能していました。それらの最後のいくつかの後でも、それはまだやった。次に、古いプロジェクトにあったプロジェクトの.pchファイルにいくつかの一般的なヘッダーファイルを含めるのを忘れたため、ビルドに失敗しました。そして、それはCodeSenseが再び壊れたときでした。

さらに調査した結果、.pchと同じフレームワークヘッダーファイルをインポートするヘッダーファイルをインポートすると、CodeSenseが破損することがわかりました。同じセットアップでも、Xcode 3で問題は発生しませんでした。

例:

project.pch

#import <Foundation/Foundation.h>
#import "projectConfig.h"

projectConfig.h

#import <Foundation/Foundation.h>
#import "one.h"
#import "two.h"

まったく不要なものを削除することで

#import <Foundation/Foundation.h>

「projectConfig.h」のディレクティブを使用すると、強調表示を修正でき、コード補完も同様に返されます。問題が私のものと同じ場合。

43
rage

構文の色付けを失ったファイルを選択し、[エディター]> [構文の色付け]を押します( 'Default'の代わりに言語(existive C++ for ex)を選択します)

15
Emad

構文の色付けを取り戻す最善の方法は、Xcodeを終了して再起動することです。理由はわかりませんが、毎回うまくいきます。

6
todd412

私は次のことがわかると思いますしばしばトリックをします…

「ビルド設定」で「ベースSDK」と「アーキテクチャ」の両方を「再選択」します。 (「ブラウザモード」で、左上にある青いプロジェクトアイコンをクリックします。 1、プロジェクト設定をクリックして、そこにあるものをいじります。

それらがすべて揃っていることを確認します。少しだけtoggly-wogglyingを実行しても問題ありません。そこにいる間は…ちょっと混ぜてください。 xCodeには、64ビットと32ビットを切り替えるたびに、小さなストロークがあります。これは、通常、コードの強調表示が一晩でなくなるのか、それともいいのかを知っているときです。

多くの場合、32ビットモードで即座にハイライト表示され、64でそこに座っているプロジェクトがあります...誰が知っているか..ああ、Xcode、おかしなことです。

4
Alex Gray

プロジェクトを選択->ビルド設定タブ-> Apple LLVM Language 5.0-> Precompile Prefix Header to YES。NSLogは強調表示されませんでした。現在Xcode 5.0.1を実行しています。

3

以下に示すように、100% 私が尋ねた質問に基づいてこの問題を修正 (実際に回答)を確認できます。私が追加することの1つは、強調表示が失われる原因となることがある「誤った空白」である場合があることです。自分でクリーンアップするか、 Goggle Toolbox for Mac Xcode 4プラグインを使用して、XCode EditメニューにClean Up Whitespaceというエントリを追加します。

enter image description hereenter image description here

2
Alex Gray

これは、これと同様のエラーのようです question

ビルド設定でPrecompile Prefix HeaderNoに設定することで、この問題を修正できました。

2
rebelzach

私にとっては、プロジェクトの名前を変更し、Tests targetはまだ古いpchの場所を指していましたが、Appターゲットは新しいものを指していました。

アプリのデリゲートにまだコードセンスがある場合、これはあなたにも当てはまる可能性があります。プロジェクトに移動し、「Tests」ターゲット検索「prefix」を選択して、「app」ターゲットの同等の値に設定します。

1
atlex2

私は最近、同様の問題を抱えており、すべてのカラーリングとオートコンプリートは組み込みフレームワークで機能しなくなりましたが、自分のクラスはまだ機能していました。ビルド設定で「Run Static Analyzer」をオフにすることを誰かに勧められました。奇妙ですが、うまくいきました。

1
Cory Kilger

私もこの問題を経験し、「インデックスの再構築」、「XCodeの再起動」、「コンパイラ設定をLLVM GCC 4.2に変更」のいずれかのソリューションを試しました。それらは私を助けませんでした。

そこで、ヘッダーファイルの新規作成とともに、次のコードをすぐに追加しようとしました。

#include "header.h"

using namespace cocos2d

次に、ヘッダーファイルで以前に追加されたコードが色付けされ、クラスやものを認識できます。

Cocos2d-xを使用したため、構文はc ++に基づいています。ただし、Objective-cではまだテストしていません。

0
haxpor

プロジェクト設定を開き(プロジェクト>プロジェクト設定の編集メニュー)、一般タブのコードセンスインデックスの再構築ボタンをクリックします。これにより、Xcodeが構文の色付けに使用するインデックスが再作成されます。

大規模なプロジェクトではこのプロセスに時間がかかることがあるため、アクティビティウィンドウで進捗状況を確認できます(Window> Activityメニュー)。

0
Rob Keniger

さらに、XCode4には、コードセンスインデックスを再構築するためのボタンがありません。

0
Sunil Gowda

同じ問題を抱えていたため、ビルド設定を更新してシステムのデフォルトコンパイラであるLLVM GCC 4.2を使用することでこれを解決しました。

複数の要因があるようです。

0
Mikey

誰かのためにまだ理由がわからない。 XCode 8.2で開きましょう、動作するはずです

0
Hieu Tran