次の方法で共有


Visual C++ IntelliSense の機能

IntelliSense は、コーディングをより便利にする一連の機能に付けられた名前です。 C++ 用の IntelliSense は、スタンドアロン ファイルと、C++ プロジェクトの一部であるファイルで使用できます。 クロスプラットフォーム プロジェクトでは、Android または iOS コンテキストを使用している場合でも、共有コード プロジェクトの .cpp ファイルと .c ファイルで一部の IntelliSense 機能を使用できます。

この記事では、C++ IntelliSense 機能の概要について説明します。 IntelliSense 用にプロジェクトを構成する方法と問題のトラブルシューティング方法については、「 IntelliSense 用に C++ プロジェクトを構成する」を参照してください。

C++ の IntelliSense 機能

IntelliSense は、コーディングをより便利にする一連の機能に付けられた名前です。 ユーザーごとに便利な機能についてさまざまなアイデアがあるため、[ オプション] ダイアログ ボックスの [ テキスト エディター>C/C++>Advanced] で、ほぼすべての IntelliSense 機能を有効または無効にすることができます。 [オプション] ダイアログ ボックスは、メニュー バーの [ツール] メニューから使用できます。

[ツール オプション] ダイアログ ボックス

次の図に示すメニュー項目とキーボード ショートカットを使用して、IntelliSense にアクセスできます。

IntelliSense メニュー

ステートメント補完とメンバー一覧

コンパイラが認識するキーワード、型、関数、変数名、またはその他のプログラム要素を入力し始めると、エディターが自動的に補完を提案します。

Visual C++ Complete Word ウィンドウ

メンバー リストを初めて呼び出すと、現在のコンテキストでアクセスできるメンバーのみが表示されます。 その後 Ctrl+キーを押すと、アクセシビリティに関係なくすべてのメンバーが表示されます。 3 回目に呼び出すと、さらに広いプログラム要素の一覧が表示されます。 メンバー リストは、[ オプション] ダイアログ ボックスの [ テキスト エディター>C/C++>General>Auto リスト メンバーで無効にすることができます。

Visual C++ メンバー リスト

パラメーターのヘルプ

関数呼び出しの開き中括弧またはクラス テンプレート変数宣言の山括弧を入力すると、エディターには、関数またはコンストラクターの各オーバーロードにおけるパラメーター型を示す小さなウィンドウがポップアップ表示されます。 カーソル位置に基づく "current" パラメーターは太字です。 パラメーター情報は、[ オプション] ダイアログ ボックスの [ テキスト エディター>C/C++>General>Parameter 情報で無効にすることができます。

Visual C++ パラメーターのヘルプ

クイック情報

変数の上にマウス カーソルを置くと、型情報と型が定義されているヘッダーを示す小さなウィンドウがインラインで表示されます。 関数呼び出しにカーソルを合わせると、関数のシグネチャが表示されます。 [ オプション] ダイアログ ボックスの [ テキスト エディター>C/C++>Advanced>Auto Quick Info でクイック ヒントをオフにすることができます。

Visual C++ QuickInfo

エラー波線

プログラム要素 (変数、キーワード、中かっこ、型名など) の下の波線は、コード内のエラーや潜在的なエラーに注意を向けます。 前方宣言を記述すると緑色の波線が表示され、実装を記述する必要がまだあることを知らせます。 Windows コンテキストで作業しているが Android コンテキストでエラーになる内容を入力する場合など、現在アクティブではないコードにエラーがある場合、共有プロジェクトに紫色の波線が表示されます。 赤い波線は、処理する必要があるアクティブなコードのコンパイラ エラーまたは警告を示します。

Visual C++ エラー波線

コードの色付けとフォント

既定の色とフォントは、[オプション] ダイアログ ボックスの [環境]、[フォント>色] で変更できます。 エディターだけでなく、多くの UI ウィンドウのフォントをここで変更できます。 C++ に固有の設定は 、"C++" で始まります。その他の設定は、すべての言語に対して行われます。

クロスプラットフォーム IntelliSense

共有コード プロジェクトでは、Android コンテキストで作業している場合でも、波線などの一部の IntelliSense 機能を使用できます。 非アクティブなプロジェクトでエラーが発生するコードを記述した場合、IntelliSense は引き続き波線を表示しますが、現在のコンテキストでのエラーの波線とは異なる色になっています。

Android および iOS 用にビルドするように構成された OpenGLES アプリケーションについて考えてみましょう。 図は、編集中の共有コードを示しています。 この画像では、アクティブなプロジェクトは iOS.StaticLibrary です

iOS がアクティブなプロジェクトとして選択されています。

次のことに注意してください。

  • #ifdefは iOS プロジェクトに対して定義されていないため、6 行目の __ANDROID__ ブランチは淡色表示され、非アクティブな領域が示されます。

  • 11 行目のグリーティング変数は識別子 HELLOで初期化され、赤い波線が表示されます。 これは、現在アクティブな iOS プロジェクトで識別子 HELLO が定義されていないためです。

  • この識別子は (現在) 非アクティブな BYE プロジェクトで定義されていないため、12 行目の識別子に紫色の波線があります。 iOS がアクティブなプロジェクトの場合、この行はコンパイルされますが、Android がアクティブなプロジェクトの場合はコンパイルされません。 これは共有コードであるため、現在アクティブな構成でコンパイルされる場合でも、コードを修正する必要があります。

アクティブなプロジェクトを Android に変更すると、波線が変わります。

  • #elseは Android プロジェクト用に定義されているため、8 行目の __ANDROID__ ブランチは淡色表示され、非アクティブなリージョンが示されます。

  • 11 行目のグリーティング変数は、紫色の波線を持つ識別子 HELLOで初期化されます。 これは、現在非アクティブな iOS プロジェクトで識別子 HELLO が定義されていないためです。

  • 12 行目には、アクティブなプロジェクトでこの識別子が定義されていないため、識別子 BYE に赤い波線があります。

スタンドアロン ファイルの IntelliSense

プロジェクトの外部で 1 つのファイルを開くと、IntelliSense が表示されます。 [ オプション] ダイアログ ボックスの [ テキスト エディター>C/C++>Advanced] で、特定の IntelliSense 機能を有効または無効にすることができます。 プロジェクトに含まれていない 1 つのファイルに対して IntelliSense を構成するには、[ IntelliSense] セクションと [プロジェクト以外のファイルの参照 ] セクションを探します。

Visual C++ における単一ファイルのインテリセンス

既定では、単一ファイルの IntelliSense では、ヘッダー ファイルを検索するために標準のインクルード ディレクトリのみが使用されます。 次の図に示すように、追加のディレクトリを追加するには、[ ソリューション ] ノードのショートカット メニューを開き、ディレクトリを [デバッグ ソース コード] の一覧に追加します。

ヘッダー ファイルへのパスの追加。

機能を有効または無効にする

ユーザーごとに便利な機能についてさまざまなアイデアがあるため、[ オプション] ダイアログ ボックスの [ テキスト エディター>C/C++>Advanced] で、ほぼすべての IntelliSense 機能を有効または無効にすることができます。 [オプション] ダイアログ ボックスは、メニュー バーの [ツール] メニューから使用できます。

[ツール オプション] ダイアログ ボックス