Visual C++ IntelliSenseVisual C++ IntelliSense

C++ 用の IntelliSense は、スタンドアロン ファイルおよび C++ プロジェクトの一部を成すファイルで使用することができます。IntelliSense for C++ is available for stand-alone files as well as for files that are part of a C++ project. クロスプラットフォーム プロジェクトでは、いくつかの IntelliSense 機能が、Android や iOS のコンテキスト内にいるときでも共有コード プロジェクト内の .cpp および .c ファイルで使用できます。In cross-platform projects, some IntelliSense features are available in .cpp and .c files in the shared code project, even when you are in an Android or iOS context.

C++ の IntelliSense 機能IntelliSense features in C++

IntelliSense は、コード作成をより便利にするための一連の機能に与えられた名前です。IntelliSense is a name given to a set of features that make coding more convenient. 便利さについては、人によって考え方が違うので、ほぼすべての IntelliSense 機能を [テキスト エディター] > [C/C++] > [詳細][オプション] ダイアログボックスで有効または無効にできます。Since different people have different ideas about what is convenient, virtually all of the IntelliSense features can be enabled or disabled in the Options dialog box, under Text Editor > C/C++ > Advanced. [オプション] ダイアログ ボックスは、メニュー バーの [ツール] メニューから使用できます。The Options dialog box is available from the Tools menu on the menu bar.

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

次の画像のメニュー項目とキーボード ショートカットを使用すると、IntelliSense にアクセスできます。You can use the menu items and keyboard shortcuts shown in the following image to access IntelliSense.

IntelliSense メニュー

ステートメント入力候補およびメンバーの一覧Statement completion and member list

キーワード、型、関数、変数名、またはコンパイラが認識するその他のプログラム要素の入力を開始すると、エディターがワードの入力候補を提供します。When you start typing a keyword, type, function, variable name, or other program element that the compiler recognizes, the editor offers to complete the word for you.

アイコンとその意味の一覧は、「[クラス ビュー] ウィンドウとオブジェクト ブラウザーのアイコン」を参照してください。For a list of the icons and their meanings, see Class View and Object Browser icons.

Visual C++ の入力候補ウィンドウ

メンバーの一覧を最初に起動するときに、現在のコンテキストにアクセス可能であるメンバーだけが表示されます。The first time member list is invoked it only shows members that are accessible for the current context. その後 Ctrl+J キーを押すと、アクセシビリティにかかわらず、すべてのメンバーが表示されます。If you press Ctrl+J after that, it shows all members regardless of accessibility. 3 回目に実行すると、プログラム要素のより多くの一覧が表示されます。If you invoke it a third time, an even wider list of program elements is shown. [テキスト エディター] > [C/C++] > [ 全般] > [自動メンバー表示][オプション] ダイアログ ボックスでメンバーの一覧をオフに切り替えることができます。You can turn off member list in the Options dialog box, under Text Editor > C/C++ > General > Auto list members.

Visual C++ のメンバー リスト

パラメーターのヘルプParameter help

関数呼び出しで左中かっこを入力するか、クラス テンプレートの変数宣言で山かっこを入力すると、エディターは関数またはコンストラクターの各オーバーロードのパラメーターの型を含む小さいウィンドウを表示します。When you type an opening brace of a function call, or angle bracket on a class template variable declaration, the editor shows a small window with the parameter types for each overload of the function or constructor. —カーソルの場所—に基づく「現在」のパラメーターは、太字で表示します。The "current" parameter—based on the cursor location—is in bold. [テキスト エディター] > [C/C++] > [全般] > [パラメーター情報][オプション] ダイアログ ボックスでパラメーター情報をオフにすることができます。You can turn off parameter information in the Options dialog box, under Text Editor > C/C++ > General > Parameter information.

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

クイック ヒントQuick Info

変数の上にマウス カーソルを移動すると、小さなウィンドウがインラインで表示され、型の情報と型が定義されているヘッダーが表示されます。When you hover the mouse cursor over a variable, a small window appears inline that shows the type information and the header in which the type is defined. 関数のシグネチャを表示するには、関数呼び出しの上にカーソルを置きます。Hover over a function call to see the function's signature. [テキスト エディター] > [C/C++] > [詳細] > [自動クイック ヒント][オプション] ダイアログ ボックスでクイック ヒントをオフにすることができます。You can turn off Quick Info in the Options dialog box, under Text Editor > C/C++ > Advanced > Auto Quick Info.

Visual C++ の QuickInfo

エラーの波線Error squiggles

プログラム要素 (変数、キーワード、中かっこ、型名など) の下の波線は、コード内のエラーや潜在的なエラーに注意を引くためのものです。Squiggles under a program element (variable, keyword, brace, type name, and so on) call your attention to an error or potential error in the code. まだ実装を記述する必要があることを通知するために、事前宣言を記述するときに、緑の波線が表示されます。A green squiggle appears when you write a forward declaration, to remind you that you still need to write the implementation. Windows のコンテキストで作業しているものの、Android のコンテキストではエラーになる内容を入力するなど、現在アクティブでないコードにエラーがある場合、共有プロジェクトに紫の波線が表示されます。A purple squiggle appears in a shared project when there is an error in code that is not currently active, for example when you are working in the Windows context but enter something that would be an error in an Android context. 赤の波線は、コンパイラ エラーまたは警告が現在のコードにあり、対処する必要があることを示します。A red squiggle indicates a compiler error or warning in active code that you need to deal with.

Visual C++ のエラーの波線

コードの色付けとフォントCode colorization and fonts

[環境] > [フォントおよび色][オプション] ダイアログ ボックスで既定の色とフォントを変更することができます。The default colors and fonts can be changed in the Options dialog box, under Environment > Fonts and Colors. ここでは、エディターだけでなく、多数の UI ウィンドウのフォントを変更することができます。You can change the fonts for many UI windows here, not just the editor. C++ に固有の設定は "C++" で始まり、その他の設定はすべての言語で利用できます。The settings that are specific to C++ begin with "C++"; the other settings are for all languages.

クロスプラットフォームの IntelliSenseCross-platform IntelliSense

共有コード プロジェクトでは、Android のコンテキストを使用している場合でも、波線などのいくつかの IntelliSense 機能を使用できます。In a shared code project, some IntelliSense features such as squiggles are available even when you are working in an Android context. 非アクティブなプロジェクトでエラーになるいくつかのコードを記述すると、IntelliSense が波線を表示しますが、現在のコンテキストでのエラーの波線とは色が異なります。If you write some code that would result in an error in an inactive project, IntelliSense still shows squiggles, but they are in a different color than squiggles for errors in the current context.

ここでは、Android や iOS 用にビルドするように構成されている OpenGLES アプリケーションを示します。Here's an OpenGLES Application that is configured to build for Android and iOS. この図は編集中の共有コードを示します。The illustration shows shared code being edited. 最初の図では、Android がアクティブなプロジェクトです。In the first image, Android is the active project:

Android プロジェクトは、アクティブなプロジェクトです。

次の点に注意してください。Notice the following:

  • __ANDROID__ が Android プロジェクトに対して定義されているため、8 行目の #else 分岐は淡色表示で非アクティブ領域として表示されています。The #else branch on line 8 is grayed out to indicate inactive region, because __ANDROID__ is defined for Android project.

  • 11 行目のあいさつの変数は HELLO 識別子で初期化され、紫の波線で表示されています。The greeting variable at line 11 is initialized with identifier HELLO, which has a purple squiggle. これは現在アクティブではない iOS プロジェクトに、HELLO 識別子が定義されていないためです。This is because no identifier HELLO is defined in the currently inactive iOS project. Android プロジェクトでは、11 行目がコンパイルされますが、iOS ではコンパイルされません。While in Android project line 11 would compile, it won't in iOS. これは共有コードのため、現在アクティブな構成でコンパイルする場合でも、変更する必要があります。Since this is shared code, that is something you should change even though it compiles in the currently active configuration.

  • 12 行目の BYE 識別子は赤の波線で表示されており、現在選択されているアクティブ プロジェクトでは定義されていません。Line 12 has red squiggle on identifier BYE; this identifier is not defined in the currently selected active project.

ここで、アクティブなプロジェクトを iOS.StaticLibrary に変更し、波線がどう変化するかに注目してください。Now, change the active project to iOS.StaticLibrary and notice how the squiggles change.

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

次の点に注意してください。Notice the following:

  • __ANDROID__ が iOS プロジェクトに対して定義されていないため、6 行目の #ifdef 分岐は淡色表示で非アクティブ領域として表示されています。The #ifdef branch on line 6 is grayed out to indicate inactive region, because __ANDROID__ is not defined for iOS project.

  • 11 行目のあいさつの変数は、HELLO 識別子で初期化され、赤の波線で表示されています。The greeting variable at line 11 is initialized with identifier HELLO, which now has red squiggle. これは現在アクティブな iOS プロジェクトに、HELLO 識別子が定義されていないためです。This is because no identifier HELLO is defined in the currently active iOS project.

  • 12 行目の BYE 識別子は紫の波線で表示されており、現在非アクティブな Android.NativeActivity プロジェクトでは定義されていません。Line 12 has purple squiggle on identifier BYE; this identifier is not defined in currently inactive Android.NativeActivity project.

スタンドアロン ファイルの IntelliSenseIntelliSense for stand-alone files

プロジェクトの外部で 1 つのファイルを開いても、やはり IntelliSense を取得します。When you open a single file outside of any project, you still get IntelliSense. [テキスト エディター] > [C/C++] > [詳細設定][オプション] ダイアログ ボックスで特定の IntelliSense 機能を有効または無効にすることができます。You can enable or disable particular IntelliSense features in the Options dialog box, under Text Editor > C/C++ > Advanced. プロジェクトの一部ではない 1 つのファイルに IntelliSense を構成するには、IntelliSense を表示し、非プロジェクト ファイルのセクションを確認します。To configure IntelliSense for single files that aren't part of a project, look for the IntelliSense and browsing for non-project files section.

Visual C++ の単一ファイルの Intellisense

既定では、単一ファイルの IntelliSense は標準のインクルード ディレクトリだけを使用してヘッダー ファイルを検索します。By default, single file IntelliSense only uses standard include directories to find header files. 他にディレクトリを追加するには、次の図に示すとおり、ソリューション ノードのショートカット メニューを開き、[デバッグ ソース ファイル] リストにディレクトリを追加します。To add additional directories, open the shortcut menu on the Solution node, and add your directory to Debug Source Code list, as the following illustration shows:

ヘッダー ファイルまでのパスを追加しています。

関連項目See also