none
Visual Studio 2015でマウスドラッグでの文字選択の挙動を普通にする方法はありませんか RRS feed

  • 質問

  • Visual Studio 2015でドラッグで文字を選択しようとすると、以下のような通常のソフトとは異なる挙動を示します。

    ・横方向に選択するとき、2文字分以上動かして初めて選択される。1文字を選択したい場合は一度2文字選択してから戻る必要がある。

     普通のソフトは1文字を選択することができる。

    ・縦方向に選択するとき、隣の行の中央までドラッグして初めて1行が選択される。2行目からは行と行の境目までドラッグした時点で選択される。

     普通のソフトは常に行と行の境目で選択される。

    この挙動が非常に使いづらく困っているのですが、ツール→オプションを見てもこの挙動を変更するオプションは見つかりませんでした。

    普通の挙動に変更する方法はありますか?

    Windows8.1

    Microsoft Visual Studio Community 2015

    Version 14.0.23107.0 D14REL

    表示フォントはMSゴシック

    2015年11月8日 9:47

回答

  • 解決しました。

    まず別環境の2010(Windows7)で試したところ、今まで気づかなかったのですが4ドット以上ドラッグしないと選択されないという挙動を示しました。一方他のソフトでは最少1ドットで選択できます。
    また、ディスプレイのスケーリングは100%にしてあるにもかかわらず、IEではデフォルトの拡大率が125%になっていました。
    ここから、ドラッグの不感帯の設定がどこかにありそれがディスプレイのDPIに依存して設定されている可能性を考えて調べたところ、
    HKEY_CURRENT_USER\Control Panel\Desktop\DragHeight, 同\DragWidth がそれでした。
    これが別環境のWindows7では「4」に、メインのWindows8.1では何を血迷ったか「16」になっていました。
    これを3にしたところ、最少3pxのドラッグで選択できるようになり、使いやすくなりました。

    直接の解決策は得られませんでしたが、問題の絞り込みに皆さまの回答が大変役立ちました。どうもありがとうございました。

    2015年11月27日 16:25

すべての返信

  • 続きになりますが、Windows 8.1 / 14.0.23107.0 D14REL / MS ゴシック で特に再現していません。

    手元確認は C# のソースコードで、日本語文字列、英語リテラルで試しています。

    2015年11月8日 10:26
    モデレータ
  • Professionalですが同ビルドVerを使っております。Windows10です。

    そのような症状は確認できませんね。いわゆる普通のドラッグと同じ動きをします。

    個人的にドラッグやドロップが好きではないので、ツールのチェック項目を外していましたが、付けても同じ挙動でした。

    ____________________________________________________________________

    本件とは無関係ですが、未選択時のCtrl+CでEmptyがバッファされるてしまうというのはあります。

    これはCtrl-VとCtrl+Cを間違えて押したときによくあるある症状です。

    一般のWindowsソフトは未選択ではEmptyバッファされず、現状のバッファを保持します。

    2015年11月8日 11:28
  • 確認ありがとうございます。再現しませんか…。
    こちらでいろいろ設定を変えてみたところ、フォントサイズを20ポイントなど極端に大きくすると、縦は普通、横は多少違和感があるものの少し余計にドラッグしたところで1文字が選択できるようになることが分かりました。
    (元はデフォルトの10ポイント)
    また、10ポイントのままでも、日本語など全角文字は同様に少し余計にドラッグしたところで1文字が選択できました。
    ここから、どうも「2文字分」や「隣の行の中央」という判定ではなく、ドラッグ開始後一定距離進むまではドラッグ判定が出ないということのようです。
    しかし条件が分かりません…。

    質問後に思い出した情報など:
    ペンタブレットを使用しています。
    ディスプレイは23.8インチ2560×1440でスケーリングは100%です。
    メモ帳、Word、ペイントで試し、発生しません。(他のソフトでもIE以外では発生した覚えがありません)
    2015年11月10日 13:22
  • > 未選択時のCtrl+CでEmptyがバッファ
    オプションからテキストエディター→(各言語)→全般の「選択領域がない場合、切り取りまたはコピーコマンドを空白行に適用」ですね。
    2015年11月10日 13:23
  • こちらも 2560x1440 (100%) です。
    (切り分け観点として気にされていたようなので、これだけですが、コメントしておきます)

    ペンタブレットは手元にないので、要因かどうかは不明です。

    2015年11月10日 14:45
    モデレータ
  • ペンタブレットの型番は何でしょうか? もしWACOMだった場合、ドライバーを最新版に更新して、「デジタルインク機能を使う」のチェックを外しても改善しませんか?

    また、マウスのドライバーはデフォルトのMS純正ドライバーでしょうか? サードパーティ製ドライバーでしょうか?

    Visual Studio 2010/2012/2013でも同じような挙動になりますか?(もしすでにインストール済みだったら確認してみてください。ただしインストールしていない場合、旧バージョンを後からインストールすると不具合が出るかもしれません)

    以前、「ペンタブレットでWPFのSliderを操作したとき、思うように反応しない現象が出る」といった質問に対して「WACOMドライバー起因の可能性が高い」と回答したことがあります。今回はちょっと様相が違う気もしますが……

    ペンタブレットでスライダーを動かすと・・・

    手元にあるのはWin8.1 x64、VS 2015 Community、Consolasフォント、Intuos Pro M (PTH-651)、WACOMドライバー6.3.10w2、Logicool M-RAF95、MSドライバー6.3.9600.17808環境ですが、VS 2012/2013含めて当該現象は発生していません。

    2015年11月10日 15:58
  • 回答ありがとうございます。
    ペンタブはWACOMのCTL-480です。
    ドライバが古かったので6.3.15-1にアップデートし、「デジタルインク機能を使う」のチェックを外しましたが、状況は変わりませんでした。
    2010/2012/2013はインストールしていません。2005はありますが問題ありません。
    マウスのドライバはデフォルトです。バージョン6.3.9600.17808

    ペンタブレットでSliderの件は今回の問題によく似ているのでかなり怪しかったのですけどね…。とりあえず他の設定項目など確認してみようと思います。

    2015年11月12日 14:58
  • 解決しました。

    まず別環境の2010(Windows7)で試したところ、今まで気づかなかったのですが4ドット以上ドラッグしないと選択されないという挙動を示しました。一方他のソフトでは最少1ドットで選択できます。
    また、ディスプレイのスケーリングは100%にしてあるにもかかわらず、IEではデフォルトの拡大率が125%になっていました。
    ここから、ドラッグの不感帯の設定がどこかにありそれがディスプレイのDPIに依存して設定されている可能性を考えて調べたところ、
    HKEY_CURRENT_USER\Control Panel\Desktop\DragHeight, 同\DragWidth がそれでした。
    これが別環境のWindows7では「4」に、メインのWindows8.1では何を血迷ったか「16」になっていました。
    これを3にしたところ、最少3pxのドラッグで選択できるようになり、使いやすくなりました。

    直接の解決策は得られませんでしたが、問題の絞り込みに皆さまの回答が大変役立ちました。どうもありがとうございました。

    2015年11月27日 16:25