統合開発環境で使用されている、マイクロソフトによる自動補完システム。メソッド名のドキュメント化と曖昧性の解消に役立つ。外部リンクメリット[編集]他の自動補完システムと同様に、インテリセンスは関数の仕様、特に引数リストを確認する便利な方法である。名前を覚えてキーワードを入力する必要性を減らすことによりソフトウェアの開発を効率化する。コーディング中においてシンボル(つまり変数と関数)をインタラクティブにドキュメント化し動的にツールチップを表示できるため、外部のドキュメントを参照する頻度を減らせる。インテリセンスは、クラス名や変数名および開発中のアプリケーションで定義または参照している構文を、オンメモリ上のデータベースに格納し、これを参照する。インテリセンスの古い実装では、言語に応じてピリオドなどのキャラクタをマーカーキャラクターとして認識して動作する。ユーザーがメンバ(変数や関数)を持つエンティティの直後にマーカーキャラクタをタイプすると、インテリセンスが推定される候補をポップアップウィンドウに表示する。EnterまたはC++のセミコロンのような言語固有のマーカーをタイプすることにより候補を確定して自動的に補完させるか、また補完したくなければ名前の入力を継続できる。いずれにしてもインテリセンスはユーザーに十分な情報を提供してユーザーが望んでいる変数や関数を確定する。言語がオブジェクト指向をサポートしている場合はオーバーロードされた関数を選べる。インテリセンスは関数の概略をポップアップウィンドウに表示できる(この機能はソースコードに埋め込まれたドキュメントの量に依存する)。以外のテキストエディタにも同様の機能がある。Vimのバージョン7.0はインテリセンスに似たオムニ補完をサポートしている。多くのエディタやIDE(たとえばUltraEdit)ではctagsを利用して同様の機能を実現している。ボーランドやサン・マイクロシステムズのIDEでは内部のリフレクションデータベースを使用して実装されている。5.0のプロトタイプ)の一機能としてである。C++に直ちに移植された。Studioとしてはそれぞれ97と98)ではその機能が不完全であった。C++版よりも完成されており安定していた。97のリリース以降数多くのVC++の開発者に批判されていたこれらの欠点は.NET以後大幅に改善された。今では完全になったテンプレートのサポートは.NET以前のバージョンで最も求められていたものの一つであった。Studio.NETでインテリセンスは新時代に突入した。(JScript)、XML、HTML、XSLT、CSSをサポートしている(J#はバージョン2005まで)。2005ではインテリセンスはユーザーがタイプした時点でデフォルトで有効になっており、マーカーキャラクタは不要である(この動作は無効にできる)。このIDEは、開発者の入力の状態に応じて、forやwhileといった言語の基本的な構文をも選択肢に含むところまで状況を推測できる。IDEといったマイクロソフトの製品にインテリセンスが搭載されている。StudioではSQL構文の補完に使用できるようになる予定である。2010では(C++0x対応やクラスウィザードなどのネイティブ主要機能が優先されたため)いったん削除され、非対応となった[2]。2012で完全復活した。2012には、WinRT向けの新たな言語拡張であるC++/CXのインテリセンスも搭載されている(C++/CXとC++/CLIは同一コード中に共存できない)。Studioのインテリセンスを拡張して追加の言語サポートを行なうサードパーティ製のライブラリ・アドオンも存在する[3]。Studioで開発しているC++で記述されたアプリケーションであり、クラスFooにはいくつかのメンバ関数がある。foo;foo.ユーザーがfooに続けてピリオドを入力すると、インテリセンスが自動的に利用可能なメンバ関数をすべて列挙する(この場合はbar()とfoo_bar())。ユーザーは矢印キーで関数を選択して補完できる。インテリセンスはソースコード上のコメントに記されたメンバ関数の概略を表示する。引数の入力時は、さらにもう一つのポップアップウィンドウが開き引数のリストが表示される。ユーザーが変数名を入力するとさらに入力した変数の補完候補が現れる。インテリセンスは引数の表示を継続し、ユーザーが入力している引数を強調表示する。ユーザーは状況にかかわらずCtrl+Spaceを押すことによりインテリセンスを強制的に起動できる。Studioの場合これは開発中のアプリケーション上で利用できるすべてのグローバルなオブジェクトを表示する。訳注:introspectionに対応する訳語がないのでそのまま。リフレクション機能の一部。内省という意味ではない。Studio」v2.0が正式公開。(日時は個人設定で未設定ならばUTC)。表示-継承ライセンスの下で利用可能です。追加の条件が適用される場合があります。詳細は利用規約を参照してください。開発者Cookieに関する声明モバイルビュ。