2011-04-13 12 views
8

Cで友人と小さな練習をしていましたが、新しい言語(たとえばbool、newなど)のキーワードを習慣から使い続けました。 VSはそれらがC言語ではないにもかかわらずキーワードとしてハイライト表示されていたので、それが問題だったことに気づいた。 Cとしてコンパイルすることができます。ただし、C言語のキーワードに加えて、C++のキーワードのシンタックスハイライトも常に追加されています。 Visual Studioに私が単純なCを必要としていることを伝える方法はありますか?Visual Studio(2010)でC(C++以外の)構文強調を取得する方法は?

重要な場合はVS2010を使用してください。

答えて

7

できません。 This is a known bug in Visual Studio. Visual Studioのシンタックスカラーリングに使用される「Intellisense」メカニズムは、Visual C/C++コンパイラがオンザフライ解析を処理するために必要なインクリメンタル解析に適していないため、Microsoftが購入したEDG C++コンパイラに基づいています。不完全なコード。 EDGコンパイラはC++のみです。あなたはC.は、次にファイルに次の行を追加してコンパイルfoo.cのファイルを作成することで、この例を見ることができます

:あなたはあなたのプログラムをコンパイルするとき

#ifdef __cplusplus 
#error C++ is what I am 
#else 
#error A bunch of C code! 
#endif 

エラーメッセージが表示されます"Cコードの束!"しかし、Visual Studioエディタウィンドウを見ると、C面はグレー表示され、非アクティブとマークされ、C++側だけが色付けされます。これは、EDG C++コンパイラに基づいたIntellisense構文colorerは、すべてがC++であると信じているからです。

0

C++スタイルのコメント(//)やブール(bool)データ型など、C++の機能がC(C99 std)によって採用されていることを考慮してください。

関連する問題