Горизонтальная прокрутка с колесом мыши в 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