Горизонтальная прокрутка с колесом мыши в Visual Studio

У меня есть новая мышь, которая имеет возможность прокручивать вправо и влево, используя колесо прокрутки. Хотя эта функция работает на веб-страницах, в Photoshop и т.д., Она ничего не будет делать, если я использую ее в Visual Studio, когда смотрю на код, который длиннее (по горизонтали), чем окно.

Есть ли способ заставить его работать?

Visual Studio - это экспресс-экспресс, мышь Logitech MX1100.

Ответ 1

Есть несколько проблем с горизонтальной прокруткой в ​​VS2010, некоторые из которых были исправлены или обработаны после отправки VS2010. Я не уверен, что MX1100 является конкретным примером любого из следующих действий, но некоторые из них были: are/are:

  • Некоторые драйверы мыши заканчивают отправку события неправильным HWND; мы видели случаи, когда события всегда будут отправляться в последнюю, но одну вещь, сосредоточенную, например. проводник решения прокручивается, когда редактор фокусируется. Я думаю, что этот был исправлен.
  • Многие драйверы перед отправкой WM_MOUSEHWHEEL (или подделкой WM_HSCROLL) проверяют, имеет ли основной HWND WS_HSCROLL (объявляет, что он имеет горизонтальную полосу прокрутки win32). Поскольку в главном окне VS нет, и у таких, как редактор, нет горизонтальных полос прокрутки win32, они откажутся отправлять горизонтальные прокрутки. Это незафиксировано.
  • (Определенно, не ваше дело, но) VMWare Fusion (в OS X) запущенные окна не пересылают события горизонтальной прокрутки на клиентскую ОС.

Я проведу с людьми, чтобы узнать, известен ли MX1100 или попадает в одну из первых двух категорий.

Ответ 2

РЕДАКТИРОВАТЬ, поскольку ShiftScroll, похоже, был заброшен, я создал небольшое расширение, которое добавляет эту возможность в Visual Studio 2017 и Visual Studio 2019.

https://marketplace.visualstudio.com/items?itemName=drewnoakes.SideScroller

https://github.com/drewnoakes/vs-side-scroller

Это позволяет прокручивать текстовый редактор и несколько других панелей, таких как окно вывода. Надеюсь, это кому-нибудь поможет.


Для VS2015 расширение ShiftScroll делает это отлично.

https://marketplace.visualstudio.com/items?itemName=NGPearce.ShiftScroll

Он перемещается влево/вправо с очень удобной скоростью, пока вы удерживаете клавишу shift.

Это было бы хорошей встроенной функцией VS IMHO.

Ответ 3

Попробуйте мое решение с помощью AutoHotKey:

https://superuser.com/a/1144201/240650

; Shift + Wheel for horizontal scrolling
+WheelUp::
    ; Scroll to the left
    MouseGetPos,,,id, fcontrol,1
    Loop 8 ; <-- Increase for faster scrolling
        SendMessage, 0x114, 0, 0, %fcontrol%, ahk_id %id% ; 0x114 is WM_HSCROLL and the 0 after it is SB_LINERIGHT.
return
+WheelDown::
    ;Scroll to the right
    MouseGetPos,,,id, fcontrol,1
    Loop 8 ; <-- Increase for faster scrolling
        SendMessage, 0x114, 1, 0, %fcontrol%, ahk_id %id% ;  0x114 is WM_HSCROLL and the 1 after it is SB_LINELEFT.
return