Visual Studio での IntelliSenseIntelliSense in Visual Studio

IntelliSense とは、メンバーの一覧、パラメーター ヒント、クイック ヒント、入力候補など多数の機能を含むコード補完機能です。IntelliSense is a code-completion aid that includes a number of features: List Members, Parameter Info, Quick Info, and Complete Word. これらの機能により、使用中のコードに関する情報の確認、入力中のパラメーターの追跡、プロパティおよびメソッドの呼び出しの追加などが、わずかなキーストロークで可能になります。These features help you to learn more about the code you're using, keep track of the parameters you're typing, and add calls to properties and methods with only a few keystrokes.

IntelliSense には、言語によって異なる要素が多数あります。Many aspects of IntelliSense are language-specific. 各言語の IntelliSense の詳細については、「関連項目」セクションに示されているトピックを参照してください。For more information about IntelliSense for different languages, see the topics listed in the See also section.

リスト メンバーList Members

トリガーの文字 (マネージド コードではピリオド (.)、C++ では ::) を入力すると、型 (または名前空間) の有効なメンバーが一覧表示されます。A list of valid members from a type (or namespace) appears after you type a trigger character (for example, a period (.) in managed code or :: in C++). 文字の入力を続けると、一覧にフィルターが適用され、その文字で始まるか、名前の中のいずれかの単語がその文字で始まるメンバーだけが含まれます。If you continue typing characters, the list is filtered to include only the members that begin with those characters or where the beginning of any word within the name starts with those characters. IntelliSense は "キャメル ケース" 照合も実行します。メンバー内の各キャメル ケースの単語の最初の文字を入力するだけで、それに一致するメンバーが表示されます。IntelliSense also performs "camel case" matching, so you can just type the first letter of each camel-cased word in the member name to see the matches.

項目を選択した後、Tab キーを押すか空白を入力することによって、その項目をコードに挿入できます。After selecting an item, you can insert it into your code by pressing Tab or by typing a space. 項目を選択してピリオドを入力した場合、項目がピリオドの前に表示され、ピリオドによって別のメンバー一覧が表示されます。If you select an item and type a period, the item appears followed by the period, which brings up another member list. 項目を選択した場合、挿入する前に、項目のクイック ヒントが表示されます。When you select an item but before you insert it, you get Quick Info for the item.

メンバーの一覧で、左側にあるアイコンは、名前空間、クラス、関数、変数など、メンバーの種類を表します。In the member list, the icon to the left represents the type of the member, such as namespace, class, function, or variable. アイコンの一覧については、「[クラス ビュー] ウィンドウとオブジェクト ブラウザーのアイコン」を参照してください。For a list of icons, see Class View and Object Browser icons. 一覧が長い場合は、PageUp キーまたは PageDown キーを使用して、一覧内を上下に移動できます。The list may be quite long, so you can press PgUp and PgDn to move up or down in the list.

Visual Studio のメンバーの一覧

メンバーの一覧機能を手動で起動するには、Ctrl+J キーを押すか、 [編集] > [IntelliSense] > [メンバーの一覧] の順に選択するか、エディターのツール バーで [メンバーの一覧] を選択します。You can invoke the List Members feature manually by typing Ctrl+J, choosing Edit > IntelliSense > List Members, or by choosing the List Members button on the editor toolbar. 空白行または認識可能なスコープの外で呼び出された場合、メンバー一覧にはグローバル名前空間にあるシンボルが表示されます。When it is invoked on a blank line or outside a recognizable scope, the list displays symbols in the global namespace.

既定でメンバーの一覧を無効にする (明確に指定しなければ表示されないようにする) には、 [ツール] > [オプション] > [すべての言語] の順にクリックし、 [自動メンバー表示] をオフにします。To turn List Members off by default (so that it does not appear unless specifically invoked), go to Tools > Options > All Languages and deselect Auto list members. 特定の言語に対してのみメンバーの一覧を無効にするには、その言語の [全般] 設定で指定します。If you want to turn off List Members only for a specific language, go to the General settings for that language.

入力したテキストのみがコードに挿入される提案モードに変更することもできます。You can also change to suggestion mode, in which only the text you type is inserted into the code. たとえば、一覧にない識別子を入力して Tab キーを押すと、完了モードでは、入力した識別子がエントリに置き換わります。For example, if you enter an identifier that is not in the list and press Tab, in completion mode the entry would replace the typed identifier. 完了モードと提案モードを切り替えるには、Ctrl+Alt+Space キーを押すか、 [編集] > [IntelliSense] > [完了モードの切り替え] の順に選択します。To toggle between completion mode and suggestion mode, press Ctrl+Alt+Space, or choose Edit > IntelliSense > Toggle Completion Mode.

パラメーター ヒントParameter Info

パラメーター ヒントでは、メソッド、属性、ジェネリック型パラメーター (C#)、またはテンプレート (C++) で必要とされるパラメーターの数、名前、およびデータ型について情報を確認できます。Parameter Info gives you information about the number, names, and types of parameters required by a method, attribute generic type parameter (in C#), or template (in C++).

太字のパラメーターは、入力した関数で次に必要なパラメーターを表しています。The parameter in bold indicates the next parameter that is required as you type the function. オーバーロードされた関数の場合、 キーと キーを使用して、オーバーロードごとに異なるパラメーター情報を表示できます。For overloaded functions, you can use the Up and Down arrow keys to view alternative parameter information for the function overloads.

パラメーター ヒント

関数やパラメーターに XML ドキュメント コメントによる注釈を付けると、そのコメントがパラメーター ヒントとして表示されます。When you annotate functions and parameters with XML Documentation comments, the comments will display as Parameter Info. 詳細については、XML コード コメントの追加に関するページを参照してください。For more information, see Supply XML code comments.

パラメーター ヒントを手動で起動するには、 [編集] > [IntelliSense] > [パラメーター ヒント] の順にクリックするか、Ctrl+Shift+Space キーを押すか、エディターのツール バーで [パラメーター ヒント] ボタンを選択します。You can manually invoke Parameter Info by choosing Edit > IntelliSense > Parameter Info, by pressing Ctrl+Shift+Space, or by choosing the Parameter Info button on the editor toolbar.

クイック ヒントQuick Info

クイック ヒントでは、コード内の識別子の宣言全体が表示されます。Quick Info displays the complete declaration for any identifier in your code.

Visual Studio のクイック ヒント

[メンバーの一覧] ボックスからメンバーを選択した場合も、クイック ヒントが表示されます。When you select a member from the List Members box, Quick Info also appears.

C# コード ファイル内のパラメーター ヒント

クイック ヒントを手動で起動するには、 [編集] > [IntelliSense] > [クイック ヒント] の順に選択するか、Ctrl+I キーを押すか、エディターのツール バーで [クイック ヒント] を選択します。You can manually invoke Quick Info by choosing Edit > IntelliSense > Quick Info, by pressing Ctrl+I, or by choosing the Quick Info button on the editor toolbar.

関数がオーバーロードされている場合、IntelliSense では一部のオーバーロード形式の情報が表示されないことがあります。If a function is overloaded, IntelliSense may not display information for all forms of the overload.

C++ コードのクイック ヒントをオフにするには、 [ツール] > [オプション] > [テキスト エディター] > [C/C++] > [詳細設定] の順に移動し、 [自動クイック ヒント]false に設定します。You can turn Quick Info off for C++ code by navigating to Tools > Options > Text Editor > C/C++ > Advanced, and setting Auto Quick Info to false.

入力候補Complete Word

入力候補では、特定できる部分まで変数名、コマンド名、または関数名を入力すると、残りの部分が補完されます。Complete Word completes the rest of a variable, command, or function name after you have entered enough characters to disambiguate the term. 入力候補を起動するには、 [編集] > [IntelliSense] > [入力候補] の順に選択するか、Ctrl+Space キーを押すか、エディターのツール バーで [入力候補] を選択します。You can invoke Complete Word by choosing Edit > IntelliSense > Complete Word, by pressing Ctrl+Space, or by choosing the Complete Word button on the editor toolbar.

IntelliSense オプションIntelliSense options

IntelliSense オプションは、既定でオンになっています。IntelliSense options are on by default. これらを無効にするには、 [ツール] > [オプション] > [テキスト エディター] の順に選択し、 [パラメーター ヒント] をオフにするか、メンバーの一覧機能が不要であれば [自動メンバー表示] をオフにします。To turn them off, choose Tools > Options > Text Editor and deselect Parameter information or Auto list members if you do not want the List Members feature.

IntelliSense アイコンIntelliSense icons

IntelliSense のアイコンでは、アイコン修飾子を使用して追加の意味を伝えることができます。The icons in IntelliSense can convey additional meaning with icon modifiers. これらはオブジェクトのアイコンの上に重ねられた星、ハート、およびロックであり、それぞれ、保護、内部、非公開を伝えるものです。These are stars, hearts, and locks layered on top of the object's icon that convey protected, internal, or private, respectively.

アイコンIcon ユーザー補助Accessibility [説明]Description
パブリック アイコン修飾子 パブリック クラスPublic class アクセスは無制限です。Access is not restricted.
保護されたアイコン修飾子 プロテクト クラスProtected class コンテナーであるクラスまたはそこから派生した型にアクセスが限定されます。Access is limited to the containing class or types derived from the containing class.
保護された内部アイコン修飾子 保護された内部クラスProtected internal class 現在のアセンブリ、または包含クラスから派生した型にアクセスが限定されます。Access is limited to the current assembly or types derived from the containing class.
内部アイコン修飾子 内部クラスInternal class アクセスは現在のアセンブリに限定されます。Access is limited to the current assembly.
非公開アイコン修飾子 非公開クラスPrivate class 包含クラス、または包含クラスから派生した型にアクセスが制限されます。Access is limited to the containing class or types derived from the containing class within the current assembly. (C# 7.2 以降で使用可能)(Available since C# 7.2.)

IntelliSense のトラブルシューティングTroubleshoot IntelliSense

IntelliSense オプションは、状況によっては意図どおりに機能しません。The IntelliSense options may not work as you expect in certain cases.

カーソルがコード エラーより下にある。The cursor is below a code error. 不完全な関数または他のエラーが、コードの中でカーソルより上の位置に存在する場合は、IntelliSense でコード要素を解析できず、IntelliSense を使用できない可能性があります。You might not be able to use IntelliSense if an incomplete function or other error exists in the code above the cursor because IntelliSense might not be able to parse the code elements. この問題は、該当するコードをコメント アウトすることで解決できます。You can resolve this problem by commenting out the applicable code.

カーソルがコード コメント内にある。The cursor is in a code comment. カーソルがソース ファイルのコメント内にある場合は、IntelliSense を使用できません。You can't use IntelliSense if the cursor is in a comment in your source file.

カーソルがリテラル文字列内にある。The cursor is in a string literal. 次の例のように、リテラル文字列を囲む二重引用符内にカーソルがある場合は、IntelliSense を使用できません。You can't use IntelliSense if the cursor is in the quotation marks around a string literal, as in the following example:

MessageBox( hWnd, "String literal|")

自動オプションがオフになっている。The automatic options are turned off. 既定では、IntelliSense は自動的に動作しますが、無効にすることもできます。By default, IntelliSense works automatically, but you can disable it. 入力候補がオフになっている場合でも、IntelliSense 機能は起動できます。Even if automatic statement completion is disabled, you can invoke an IntelliSense feature.

参照See also