none
自動メンバー表示とオートコンプリートについて RRS feed

  • 質問


  • Visual Studio Community 2015 Version 14.0.24720.00 Update 1 (Visual Studio 2015利用時)の質問です。

    コードエディタで作業時、メンバーの候補の一覧表示(IntelliSense)から、候補が自動挿入されることに困惑しています。

    例えば「i」と入力し、次に「=」と入れると即座に「Integer=」と挿入されます。

    確かにメンバー候補として「i」がない所に「Integer」の候補が出る事は分かるのですが、状況に応じて編集する過程でいったん書いておきたかったりすると、勝手に「Integer=」と自動挿入されると困る事があります。

    かといって、

    「ツール→オプション→テキスト エディター→すべての言語→入力候補→自動メンバー表示

    のチェックを外すと、候補が全く表示されなくなるので、それはそれで不便です。

    メンバーの候補は一覧表示してくれて、でも勝手に自動挿入まではされないような設定にはできないでしょうか。(Eclipseのように・・・)

    2016年6月6日 22:35

回答

  • テキストエディタにフォーカスがある状態で、メニューの「編集(E)->IntelliSense(I)->完了モードの切り替え(Ctrl+Alt+Space)」を選ぶと=では確定されなくなります。

    IntelliSenseの使用方法


    個別に明示されていない限りgekkaがフォーラムに投稿したコードにはフォーラム使用条件に基づき「MICROSOFT LIMITED PUBLIC LICENSE」が適用されます。(かなり自由に使ってOK!)

    • 編集済み gekkaMVP 2016年6月6日 23:37
    • 回答としてマーク Y989859 2016年6月7日 22:07
    2016年6月6日 22:56
  • 念のため参考までに書いておきますが、iを打った後にESCキーを押せばInteliSenseの候補表示は消えますので、その後、普通に入力できるようになります。
    確かにたまにInteliSenseが邪魔になることもありますが、ピリオドを打った後に数文字打ってクラスメンバーを絞り込んだ後、そのまま確定してくれる「完了モード」の方を私は便利に使っています。InteliSenseが邪魔になった時は、ESCキーで上記のように消していますが、私の場合はそれほどこの場面に出会うことはありません。もっとこれは人それぞれなんだろうと思いますし、書くコードにもよるんだろうと思いますので、あくまで参考程度にしてください。

    #ちなみにVBでしょうか? であれば、最初の i の前にDimを書かれないのでしょうか? Dimを書けばそのまま i = と入力できるはずです。


    ★良い回答には回答済みマークを付けよう! MVP - .NET  http://d.hatena.ne.jp/trapemiya/

    • 回答としてマーク Y989859 2016年6月7日 22:21
    2016年6月7日 2:01
    モデレータ

すべての返信

  • テキストエディタにフォーカスがある状態で、メニューの「編集(E)->IntelliSense(I)->完了モードの切り替え(Ctrl+Alt+Space)」を選ぶと=では確定されなくなります。

    IntelliSenseの使用方法


    個別に明示されていない限りgekkaがフォーラムに投稿したコードにはフォーラム使用条件に基づき「MICROSOFT LIMITED PUBLIC LICENSE」が適用されます。(かなり自由に使ってOK!)

    • 編集済み gekkaMVP 2016年6月6日 23:37
    • 回答としてマーク Y989859 2016年6月7日 22:07
    2016年6月6日 22:56
  • 念のため参考までに書いておきますが、iを打った後にESCキーを押せばInteliSenseの候補表示は消えますので、その後、普通に入力できるようになります。
    確かにたまにInteliSenseが邪魔になることもありますが、ピリオドを打った後に数文字打ってクラスメンバーを絞り込んだ後、そのまま確定してくれる「完了モード」の方を私は便利に使っています。InteliSenseが邪魔になった時は、ESCキーで上記のように消していますが、私の場合はそれほどこの場面に出会うことはありません。もっとこれは人それぞれなんだろうと思いますし、書くコードにもよるんだろうと思いますので、あくまで参考程度にしてください。

    #ちなみにVBでしょうか? であれば、最初の i の前にDimを書かれないのでしょうか? Dimを書けばそのまま i = と入力できるはずです。


    ★良い回答には回答済みマークを付けよう! MVP - .NET  http://d.hatena.ne.jp/trapemiya/

    • 回答としてマーク Y989859 2016年6月7日 22:21
    2016年6月7日 2:01
    モデレータ
  • ありがとうございました。大変助かりました。
    2016年6月7日 22:08
  • なるほど、escは知りませんでした。が、ctrl+zで消していました。

    VisualBasic2015と書くつもりがVisualStudio2015と書き間違えていました。すみません。私も自動挿入は嫌いな方ではありません。細かい背景を申し上げると、スコープの説明で、正しくないコードを入力してみせることを行いたいので、最初から設定で変更できれば良いのにと思っていたところでした。

    以前のバージョンからこの仕様が初期状態ではなかったような記憶もあるのですが。いずれにしても参考になりました。ありがとうございました。

    2016年6月7日 22:18