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 Text Editor, C/C++, Advanced property page.

[ツール]、[オプション]、[テキスト エディター]、[C/C++]、[詳細]Tools, Options, Text Editor, C/C++, Advanced

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

Visual C++ の [IntelliSense] メニューVisual C++ IntelliSense Menu

ステートメント入力候補およびメンバーの一覧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++ の [入力候補] ウィンドウVisual C++ Complete Word window

メンバーの一覧を最初に起動するときに、現在のコンテキストにアクセス可能であるメンバーだけが表示されます。The first time member list is invoked it only shows members that are accessible for the current context. その後 Ctrl + J を使用すると、アクセス可能かどうかにかかわらず、すべてのメンバーが表示されます。If you use 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 statement completion in the C/C++ General Options page.

Visual C++ メンバーの一覧Visual C++ Member List

パラメーターのヘルプ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 Statement completion in the C/C++ General Options page.

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

クイック ヒント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 Text Editor, C/C++, Advanced page.

Visual C++ のクイックヒント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++ のエラーの波線Visual C++ error squiggles

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

既定の色とフォントは、[環境]、[フォントおよび色] プロパティ ページで変更することができます。The default colors and fonts can be changed by using the Environment, Fonts and Colors property page. ここでは、エディターだけでなく、多数の 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 プロジェクトはアクティブなプロジェクトです。The Android project is the active project.

次の点に注意してください。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 が選択されています。iOS is selected as the active project.

次の点に注意してください。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 features by going to Text Editor, C/C++, Advanced to turn on or off IntelliSense features. プロジェクトの一部ではない 1 つのファイルに IntelliSense を構成するには、[詳細設定] のセクションで IntelliSense and Browsing for Non-Project Files (IntelliSense およびプロジェクト以外のファイルの参照) を検索します。To configure IntelliSense for single files that aren't part of a project, look for IntelliSense and Browsing for Non-Project Files in the Advanced section. Visual C++ ガイド ツアー」を参照してください。See Visual C++ Guided Tour.

Visual C++ の単一ファイルの IntelliSenseVisual C++ single file 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:

ヘッダー ファイルまでのパスを追加しています。Adding a path to a header file.

関連項目See also

IntelliSense の使用Using IntelliSense