Vscode: Разрешить настройку ярлыков мыши

Созданный на 18 февр. 2016  ·  204Комментарии  ·  Источник: microsoft/vscode

Некоторые пользователи хотели бы иметь возможность настраивать не только простые сочетания клавиш, но и сочетания клавиш с мышью и модификаторами. В настоящее время они жестко запрограммированы, например, alt + щелчок, чтобы добавить выбор.

См. Https://github.com/Microsoft/vscode/issues/3091 для получения дополнительной информации.

editor-core feature-request keybindings

Самый полезный комментарий

+1

Я бы хотел сделать shift+cmd+leftMouseButton для Peek Definition, это было бы идеальной комбинацией для меня.

Все 204 Комментарий

+1

Я бы хотел сделать shift+cmd+leftMouseButton для Peek Definition, это было бы идеальной комбинацией для меня.

+1

Я обнаружил интересное влияние на производительность из-за текущих значений по умолчанию / отсутствия возможности настройки. Рассмотрим жестко запрограммированный модификатор, связанный с функцией "определения взгляда". Если плагин должен выполнить некоторую работу, чтобы предоставить определение, весьма вероятно, что VSCode будет запрашивать у плагинов информацию об определении, даже если пользователь не намерен ее получать. Как я описываю в https://github.com/Microsoft/vscode-go/issues/257#issuecomment -198993769:

Например, когда курсор все еще находится в области редактора, нажатие ⌘ мгновенно вызывает GoDefinitionProvider, даже если ⌘ сразу используется в аккорде для какой-либо другой команды (например, копирование, вставка, открытие палитры команд и т. Д.).

Это означает, что вызовы godef происходят, когда пользователь нажимает очень общую клавишу без намерения получить контекстную информацию о наведении курсора.

При использовании vscode-go это означает значительное потребление посторонней энергии, которого можно почти полностью избежать, задав настройки клавиш-модификаторов для "определения взгляда". Эта функция будет не только удобной и позволит улучшить интеграцию графического интерфейса ОС хоста, но и VSCode будет более эффективно использовать ЦП для обычных целей.

+1 - Atom, Sublime и jsbin.com (возможно, и другие тоже) позволяют создавать несколько курсоров с помощью ⌘ + щелчка (по крайней мере, на Mac). Было бы хорошо, если бы вас заставили выучить как можно меньше новых ярлыков при переключении на новый редактор.

Я просто полностью избегаю использования alt + click для добавления курсоров, пока я не смогу настроить согласованность Windows и Linux. Не хочу наращивать мышечную память, если позже она изменится.

@alexandrudima есть мысли о том, когда вы до этого добавление курсоров с помощью мыши в Linux . Я могу попытаться это сделать, если вы подойдете на высоком уровне.

+1 Я только что открыл для себя VS Code, и мне это нравится, но, как давний пользователь Sublime Text в Linux, мне не хватает возможности ctrl + click. Хотелось бы иметь возможность настраивать ярлыки мыши.

От @ChristopherHaws в № 6853

  • Версия VSCode: 1.1.1
  • Версия ОС: Windows 10 Pro

В Visual Studio (полная версия) я обычно отключаю функцию перехода к определению Ctrl + LeftMouseClick. Лично я предпочитаю, чтобы Ctrl + LeftMouseClick выделял все слово под курсором мыши.

Насколько я могу судить, события мыши в настоящий момент не настраиваются, и их также невозможно переопределить с помощью расширений (насколько мне известно). Было бы неплохо иметь файл конфигурации отображения мыши. В Sublime Text это есть (хотя это своего рода скрытая функция, которая не отображается через пользовательский интерфейс). В качестве примера мой превосходный текстовый файл карты мыши выглядит так:

[
    {
        "button": "button1", "count": 1, "modifiers": ["ctrl"],
        "press_command": "drag_select",
        "press_args": {"by": "words"}
    }
]

+1 за настройку.
Я бы хотел использовать CTRL для множественного выбора вместо alt.

Я хотел бы отметить, что добавление курсоров с помощью мыши невозможно в Linux, потому что alt+click уже используется для перемещения окна (по крайней мере, в KDE и XFCE), и, следовательно, alt+click поведение вообще не доходит до редактора кода. Поэтому я также предлагаю изменить привязку по умолчанию на что-то, что не конфликтует с комбинациями клавиш основных оконных менеджеров. Ctrl+Alt+click может работать,

Я хотел бы отметить, что добавление курсоров с помощью мыши невозможно в Linux, потому что alt + click уже используется для перемещения окна (по крайней мере, в KDE и XFCE), и поэтому поведение alt + click не достигает редактор кода вообще. Поэтому я также предлагаю изменить привязку по умолчанию на что-то, что не конфликтует с комбинациями клавиш основных оконных менеджеров. Ctrl + Alt + щелчок может работать,

Пожалуйста, не меняйте значение по умолчанию. Использование Alt для перемещения Windows - плохое решение по умолчанию, например, у Inkscape с этим тоже есть проблемы. Клавиша Windows намного лучше подходит для этого, так как она чаще используется для ярлыков «оконного менеджера», например, в Windows. Более того, даже название имеет больше смысла: «Клавиша Windows» -> «перемещать окна». Это также значение по умолчанию для GNOME.

IIRC выбор использования Alt по умолчанию для этого также был обходным путем, потому что клавиша Windows не действовала как настоящая «мета». В прошлый раз, когда я проверил, я все еще не мог сопоставить клавишу Windows, чтобы открыть меню в XFCE и одновременно перемещать с ней окна.

@jhasse Хорошо, я думаю, что вся работа с оконным менеджером должна выполняться с помощью ключевого модификатора Windows - довольно хороший аргумент. Но что вы имеете в виду под фразой «В прошлый раз, когда я проверял, я все еще не могу сопоставить клавишу Windows, чтобы открыть меню в XFCE и одновременно перемещать с ней окна»? Вы хотите, чтобы клавиша Windows была модификатором и немодификатором одновременно?

Но что вы имеете в виду под фразой «В прошлый раз, когда я проверял, я все еще не могу сопоставить клавишу Windows, чтобы открыть меню в XFCE и одновременно перемещать с ней окна»? Вы хотите, чтобы клавиша Windows была модификатором и немодификатором одновременно?

Я хочу открыть меню, нажав клавишу Windows (только), но все еще могу связывать с ним комбинации клавиш и перемещать окна.

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

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

Есть способ переопределить alt + mouse для модификаторов окна с помощью xfwm4-tweaks-settings .
screenshot_2016-10-21_09-30-43

Но @jhasse указывает на то, что должно произойти, если у вас уже естьобязан открыть меню xfce. Если у вас есть привязка клавиш только для клавиши Windows Super L то после нажатия запускается только это событие и ничего больше. В настоящее время значения по умолчанию xfce не связаны с Super L , а ctrl+esc привязан к команде меню окна xfce4-popup-whiskermenu .

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

На данный момент обходным путем является изменение ключа доступности оконного менеджера с alt на super как на изображении выше.

@anchepiece Я не собираюсь менять настройки оконного менеджера и не думаю, что это можно рассматривать как подходящее решение. Считать это подходящим обходным решением - оскорбление для всех людей, которые привыкли работать с этой установкой в ​​течение многих лет. Я не могу использовать свои системные ярлыки, потому что глупый текстовый редактор конфликтует с этими клавишами, я предпочитаю избегать использования текстового редактора.

@ krux02 Полностью согласен. Я сам попробовал, когда это было предложено, и не смог освоить новую привязку клавиш. Было бы гораздо лучше оставить настройку на усмотрение пользователя.

Это исправило мой xenial.
gsettings set org.gnome.desktop.wm.preferences mouse-button-modifier "<Super>"

Я не уверен, когда эта функция была добавлена, но я смог заставить Ctrl + Left Click выбрать слово под курсором вместо перехода к определению.

[
    { "key": "ctrl+[mouse button]",            "command": "cursorWordLeft",
                                               "when": "editorTextFocus" },
]

@ChristopherНе знает, где объявлены определения [mouse button] ? Или вы знаете, что привязано к среднему щелчку мыши? Я хотел бы попробовать установить выбор столбца на средний щелчок + перетаскивание.

+1

+1 Пожалуйста, по крайней мере сопоставьте «множественный курсор» с дополнительной картой клавиш в качестве обходного пути, пока что-то не уладится. Он был открыт в феврале, и большинству людей, вероятно, просто нужен способ создания нескольких курсоров в Linux.

+1

Пожалуйста, добавьте реакцию на эту проблему вместо сообщения «+1».

Он был открыт в феврале, и большинству людей, вероятно, просто нужен способ создания нескольких курсоров в Linux.

Несколько курсоров уже нормально работают с некоторыми DE (например, GNOME 3) в Linux. Для других см. Https://github.com/Microsoft/vscode/issues/3130#issuecomment -255382002 для обходного пути.

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

@jhasse в прошлый раз, когда я проверял, добавление реакции не приводит к появлению обновлений проблемы в разделе "участвующих" уведомлений GitHub. Размещение комментария +1 служило для меня двум целям.

@ krux02 Вы правы, обходной путь - временное решение. Просто хотел отметить, что утверждение «несколько курсоров не работают в Linux» неверно. Скорее всего, несколько курсоров не работают с некоторыми DE.
Если вы глобально нажмете клавишу Alt в Windows, добавление нескольких курсоров с помощью мыши там тоже не сработает.

@sharwell Как насчет подписки на выпуск в дополнение к добавлению реакции?

Подписка @jhasse помещает здесь уведомление в верхнюю категорию. Ответ помещает его в нижнюю категорию:

image

У меня не было никаких обходных путей, которые я исследовал, и я действительно хотел, чтобы они были. Я использую Linux Mint Sarah с корицей. Честно говоря, самый быстрый обходной путь - просто вернуться к моей настройке атома. Мне нужно кодировать, а не подключать настройки рабочего стола и скрещивать пальцы.

Я нашел ужасный способ решения этой проблемы (по крайней мере, для Windows). Вы можете установить AutoHotKey и использовать следующий скрипт, который переключит только Ctrl+Click и Alt+Click .

; Switches the Left-Control-Click and Alt-Control-Click shortcut for VS Code.
; Setting for allowing dynamic titles
SetTitleMatchMode, 2

#If WinActive(" - Visual Studio Code")
  ^LButton::Send !{Click}
  !LButton::Send ^{Click}
  Return
#If

Я согласен с тем, что ярлыки мыши должны быть встроены в VSCode, я также полагаюсь на них ежедневно. Решение, которое я нашел, не работает при нажатии на слова со связанным определением.

+1 для тех, кто пришел из sublime / atom и хотел бы использовать cmd + click при добавлении нескольких курсоров или cmd + drag для перетаскивания курсоров

+1 это было бы круто !!!

+1 пропустить cmd + щелчок для новых курсоров из возвышенного - предпочитаю не использовать опцию + щелчок

+1, чтобы я мог привязать кнопки мыши 3 и 4 к workbench.action.navigate *

@ChristopherHaws, [mouse button] , похоже, сейчас не работает. Каков точный синтаксис команды? https://github.com/Microsoft/vscode/issues/3130#issuecomment -263780725

@vferko Похоже, что это

+1

Невозможность переназначить элементы управления «мышь + модификатор» является для меня препятствием, я не могу ни использовать, ни рекомендовать vscode людям, которые еще не являются пользователями VStudio. Это очень прискорбно, так как мне очень нравится ощущение быстрого и надежного vscode. Пока я не обнаружил эту проблему, я был полностью продан и готов начать процесс перехода на vscode.

Переназначение мышечной памяти для самых основных модификаторов платформы - это слишком сложно, я останусь с Atom, пока это не будет исправлено. На Mac: щелкните, удерживая cmd, для добавления к несмежным выделенным фрагментам; Alt-перетаскивание на выделение копирует это выделение; в противном случае Alt-drag создает прямоугольные выделения. Примечание: при создании прямоугольных выделений по умолчанию НЕ расширяется выделение от предыдущей точки вставки, эта возможность должна быть помещена за флагом настройки пользователя.

Спасибо за всю вашу работу на сегодняшний день, vscode действительно хорош! Я подпишусь на эту проблему и вернусь с большой скоростью, когда она будет успешно решена.

+1, я использую vscode в Arch Linux (Openbox), я не могу использовать функцию навигации мышью (назад / вперед), но эта функция отлично работает в файловом менеджере Chrome и PCManFM. Я предполагаю, что отображение кнопок в vscode отличается. Итак, если я могу переназначить действие кнопки, вручную изменить его поведение, тогда я смогу исправить проблему, это будет лучше всего.

Я использую vscode в Arch Linux (Openbox), я не могу использовать функцию навигации с помощью мыши (назад / вперед), но эта функция отлично работает в файловом менеджере Chrome и PCManFM. Я предполагаю, что отображение кнопок в vscode отличается. Итак, если я могу переназначить действие кнопки, вручную изменить его поведение, это было бы лучше всего.

Лучше всего было бы, если бы это работало из коробки, не так ли?

пожалуйста, подпишитесь на этот выпуск, чтобы помочь поднять его в очереди, спасибо

: +1:

Я также очень хотел бы иметь возможность повторно привязать события щелчка мыши ... этот Option-Click для нескольких курсоров конфликтует со всем моим другим программным обеспечением ...

В самом деле, если просто привязать кнопки мыши вперед / назад к workbench.action.navigate ... - это более легкая подзадача, было бы здорово иметь это в качестве функции для начала

+1 - Так используется для управления щелчком при выборе слова, что меня это начинает сильно раздражать.

Я тоже хотел бы это увидеть. Я хотел бы заменить «перейти к определению» на «перейти к определению типа» с помощью cmd + щелчок

Другой кандидат - возможность настроить жест смахивания, который мы только что представили на https://github.com/Microsoft/vscode/issues/4803.

+1, чтобы я мог привязать кнопки мыши 3 и 4 к workbench.action.navigate *

Я не думаю, что решу использовать VSCode, пока эта проблема не будет решена.

не знаю, связано ли это, но я действительно хочу отключить ctrl + щелчок по ссылкам ... в настоящее время, когда вы ctrl + щелкаете ссылку в html-файле, она открывает ссылку в вашем стандартном браузере ... эта "функция" действительно заноза для меня, я всегда хочу скопировать ссылку с помощью ctrl + c, и когда я делаю это быстро, у меня уже есть ctrl, прежде чем щелкнуть ссылку, чтобы выбрать ее, а затем мой браузер всплывает, и начинается трагедия :(

+1 запускает виртуальную машину Linux внутри моего Mac, не могу переназначить ярлыки мыши, чтобы они были больше похожи на те, что за пределами виртуальной машины

+1 Важная особенность

мне это нужно, чтобы перейти на change.org? :радость:

Измените окна перетаскивания с помощью Alt для Kubuntu (16.04):
Настройки -> Системные настройки -> Управление окнами -> Поведение окна -> Действия окна -> Клавиша модификатора -> изменить на "Мета"

использование клавиши cmd для добавления множественного выбора теперь работает для Mac !!

Спасибо всем !!!

эх @ ajoslin103, это не было целью этой проблемы.

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

Например, для Peek, как и для большинства других редакторов, было бы очень полезно использовать cmd + click.

Снижение психического налога - вот к чему мы должны стремиться с помощью сочетаний клавиш!

хотя я полностью согласен с вами в духе, эта особая проблема была единственной вещью, которая держалась в стороне от vsCode, вот эти многие луны - и потребовалось так много времени, чтобы найти проблему, запертую в проблеме в нижней части цепочки (за дверь отмечена: остерегайтесь леопарда!)

Я согласен с тем, что способ настройки взаимодействия «мышь + клавиша» был бы потрясающим, меня все еще расстраивает поведение расширения выбора.

Но, по крайней мере, я наконец-то здесь, медленно пробираясь через лес расширений и опций, пытаясь вернуться к [почти] «бездумному редактированию», которое у меня было с моим предыдущим редактором.

Пожалуйста, простите мое видение туннеля

Как это продвигается?
Когда можно ожидать выхода этой функции?
Я бы хотел изменить сочетание клавиш, например ctrl + maj + mouse для выбора блока, на alt + mouse!

+1, очень хочется избавиться от привязки "Ctrl + Click => перейти к определению".

Я также хочу избавиться от ctrl click, перейти к определению, а вместо этого использовать его для выделения всего слова. Это функция, которую я постоянно использовал в vs и буду использовать ее каждый день в коде vs.

как это еще не вышло ....?

@lopugit - это проект с открытым исходным кодом, не стесняйтесь вносить в него свой вклад.

Как человек, который сам участвует в ряде проектов, мне совершенно не помогает, когда люди публикуют такие вещи, как «почему этого нет в библиотеке?» «почему этого нет? Это нужно!» и т. д.

Предоставление конструктивной обратной связи вместе с отметками +1 для основной проблемы - вот что поможет стимулировать развитие.

Не имейте права, исходный код открыт, вытащите клавиатуру и отправьте PR, если это так срочно.

Для справки, я полностью поддерживаю эту функцию. Просто раздражает то, что люди требуют функций для бесплатного программного обеспечения.

@oshalygin

извините, что прозвучал как озаглавленный. Сейчас 7 утра, а я всю ночь не спал, работая над своими собственными проектами. Я не понимал, что это открытый код, я думал, что это проект Microsoft?

Мой комментарий исходит только с точки зрения, боже, ctrl + click не является редактируемым ярлыком? Ты чувствуешь?

Я работаю над несколькими вещами, чтобы внести свой вклад в сообщество открытого исходного кода, я просто хотел добавить свои мысли об этой функции здесь, каждый комментарий можно рассматривать как хороший дискурс ... вроде ..

Идк, я супер устала, мир;)

@lopugit Ну, раз уж мы здесь на GitHub, да, это открытый исходный код. 😅

@Tyriar Я заметил, что это указано как незавершенное, насколько вам известно, есть ли ветка, в которой кто-нибудь начал работать над добавлением привязок «Мышь» в качестве параметров настройки? Похоже, обсуждение этой функции ведется уже некоторое время, поэтому я предполагаю, что это довольно сложное изменение.

Нет филиала AFAIK. В этом есть небольшое движение; Параметр editor.multiCursorModifier позволяет поменять местами мультикурсор и следовать модификаторам определения / ссылки. Нет файла, подобного keybinding.json, для привязки мыши, хотя я думаю, что решение этой проблемы будет выглядеть так. Я думаю, что это в основном заблокировано тем, что @alexandrudima освобождает тех, у кого много конкурирующих приоритетов.

Я хотел бы использовать Mouse 4 + 5 (боковые кнопки) для «перехода назад» + «перехода вперед». Уже работает в браузере и других IDE. Поэтому, пожалуйста, добавьте ярлыки мыши =)

+1

Все читают этот запрос функции ???
+1

Серьезно, добавьте поддержку кнопок мыши в сочетаниях клавиш!

Скоро 2 года! Почему это еще не функция! Разрешите нам использовать кнопки мыши для привязки клавиш

Интересно, было бы легко добавить временное изменение, чтобы разрешить выбор столбца в Linux, например, Ctrl + Alt + щелчок (просто следуя предложению krux02) также выполнял выбор поля / столбца в дополнение к Alt + щелчок, который заблокирован оконными менеджерами Linux? Если в какой-то момент будет добавлена ​​настройка кнопок мыши, это временное изменение можно будет удалить, но тем временем это избавит меня от самого большого разочарования, которое у меня было при использовании VS Code в Linux.

Как долго нам ждать появления этой ОСНОВНОЙ функции? Другой год? Это ОСНОВНАЯ ОБЩАЯ функция, такая как ENTER или DELETE?
Боже мой, что происходит ... Люди полетят на Марс, а мы сражаемся за быстрые клавиши мыши. У всех других редакторов есть эта функция. Но новый крутой парнишка уже позади ...

Я согласен, это очень простая функция, я не понимаю, что происходит ...
Нам НУЖНА эта функция

Вы, ребята, понимаете, что используете совершенно бесплатный инструмент, и можете внести в него свой вклад, верно? Я не думаю, что кто-то в сообществе будет против пиара с этой "базовой функцией" 📄

@Thargarius @DoCode

Если я правильно помню, эта проблема вызвана Electron, а не VS
Сама кодовая база. Таким образом, исправление потребует исправления исходного кода Electron.
methinks = P

В пн, 4 декабря 2017 г., в 10:49 Олег Шалыгин [email protected]
написал:

Вы, ребята, понимаете, что используете совершенно бесплатный инструмент, который можно
способствовать правильному? Я не думаю, что кто-то в сообществе против
PR с этой «базовой чертой» 📄

@Thargarius https://github.com/thargarius @DoCode
https://github.com/docode

-
Вы получили это, потому что оставили комментарий.
Ответьте на это письмо напрямую, просмотрите его на GitHub
https://github.com/Microsoft/vscode/issues/3130#issuecomment-349064344 ,
или отключить поток
https://github.com/notifications/unsubscribe-auth/AD2MVQ9h6MIa7CdtLZcXTrvt5XxYn1-9ks5s9D6ygaJpZM4HdSg8
.

Я не идеальный разработчик Atom / Electron.
Кто-нибудь здесь, кто может исправить или начать исправлять эту проблему?

Думаю, вот кулон Атом.

+1

я хотел бы нажать Mouse2Click (средняя кнопка мыши / колесо прокрутки), чтобы перейти к объявлению вместо Ctrl-Mouse1Click

я хотел бы нажать Mouse2Click (средняя кнопка мыши / колесо прокрутки), чтобы перейти к объявлению вместо Ctrl-Mouse1Click

Было бы неплохо иметь возможность щелкнуть средней кнопкой мыши, чтобы открыть определение метода или переменной, это то, к чему я привык в GameMaker IDE.

Было бы здорово иметь возможность отключить функцию вставки двойным щелчком средней кнопки мыши.

Если бы у VSCode были возможности макроса, эту функцию, вероятно, можно было бы добавить через макрос.

ПОЖАЛУЙСТА, перейдите к вопросу № 4490 и проголосуйте за него (нажмите кнопку с изображением большого пальца вверх) и добавьте свою поддержку!

https://github.com/Microsoft/vscode/issues/4490

Я хотел бы использовать трекпойнт на моем Thinkpad для прокрутки при нажатии ctrl (например, эмуляция среднего щелчка, убнуту)

Можно ли использовать Shift + команду и щелчок левой кнопкой мыши вместо команды + щелчок левой кнопкой мыши, или нам нужно сначала поставить эту функцию?

Думаю, это было бы неплохо, я бы хотел связать ctrl + колесо мыши для прокрутки вперед и назад во времени

Думаю, это то, что я ищу ...

Я просто хочу иметь возможность использовать кнопки «назад» и «вперед» на моей мыши, чтобы приравнять их к действиям сочетания клавиш «Назад» и «Вперед» соответственно. Кажется, сейчас я не могу назначить им кнопки мыши. Я бы даже согласился на жестко запрограммированное решение, чтобы я мог прыгать через свой код!

Привет, @nerael , полностью согласен. Я решил эту проблему, привязав кнопки мыши к выделению сочетаний клавиш, которые выполняют действия «Назад» и «Вперед» в VSCode. Это легко сделать в программном обеспечении Logitech, но есть способы сделать это в Windows / OSX, даже если это не поддерживается производителем устройства.

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

@jsonMartin

Спасибо ... это привело меня к обходному пути. я примерно так
https://thecrumb.com/2015/06/03/xbindkeys/index.html

РЕДАКТИРОВАТЬ - это также был очень полезный учебник по настройке xbindkeys
https://blog.hanschen.org/2009/10/13/mouse-shortcuts-with-xbindkeys/

Мой файл ~ / .xbindkeysrc:

# VSCODE MOUSE BINDINGS FOR CODE JUMPING
# 'Go Back'
"xte 'keydown Control_L' 'keydown Alt_L' 'key minus' 'keyup Alt_L' 'keyup Control_L'" 
b:8
# 'Go Forward'
"xte 'keydown Control_L' 'keydown Alt_L' 'key equal' 'keyup Alt_L' 'keyup Control_L'" 
b:9

Это потому, что мой «Вперед» был привязан к ctrl + alt + equals. b: 8 и b: 9 - это коды клавиш для моих кнопок мыши для движения вперед и назад!

ИЗМЕНИТЬ - на случай, если это неясно, я использую последнюю версию Ubuntu LTS на момент написания, а не Windows или OSX

Я просто хочу иметь возможность отключить свои кнопки мыши в Visual Studio Code, чтобы они ничего не делали, поскольку я использую одну из них в качестве клавиши Push to Talk.

Так почему, похоже, здесь нет ответа или прогресса? (Я не видел комментариев от соавтора, извините, если это неправда)

Это проблема электроники в апстриме? Разве это не важная функция в дорожной карте?

+1

Привет, @ mhh1422, просто дружеское напоминание о том, что если вы публикуете сообщение о проблеме с github, все подписанные получат электронное письмо.

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

Всем, кого я спамил этим сообщением, ❤️

@philiiiiiipp Мне нравится знать, сколько времени это занимает

+1

+1

@lopugit @ Nemesis19 @DeadByElpy

Добавьте +1 к исходному выпуску вверху.

Вы можете получать уведомления без комментариев, нажав кнопку «Подписаться» в правом верхнем углу этой страницы.

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

Было бы действительно неплохо использовать «Alt + Scroll Up / Down» для увеличения / уменьшения чисел или перебора перечислений или чего-то подобного.

черт возьми, да, нам нужно использовать кнопки мыши в привязках клавиш ... это решило бы множество проблем, например, возможность заменить ярлыки для мусора, такие как {
"ключ": "ctrl + pagedown",
"команда": "workbench.action.nextEditor"
}
с помощью ctrl + колесика мыши вниз и т. д.

... переключение вкладок с помощью колесика мыши ... намного лучше.

пожалуйста, займитесь этим, пора уже.

Надеюсь, эта задача все еще не решена. Я хотел бы изменить комбинацию SHIFT-ALT-LeftMouse "выбор столбца" только на ALT-LeftMouse ...

Я перехожу с продуктов JetBrains из-за работы и пытаюсь максимально адаптировать VSCode к моему предыдущему рабочему процессу.

Я использовал alt+leftclick на любом выделенном тексте, чтобы попасть в меню QuickFix . В другом редакторе это были бы такие вещи, как исправление опечаток при проверке орфографии, исправление отсутствующих импортов, упрощение кода и т. Д. Все эти действия скрыты под - теперь массовым - меню правой кнопки мыши.

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

Возможность настраивать такие вещи значительно улучшила бы мой комфорт.

Я надеюсь, что кто-то дойдет до этого.

Счастливых праздников!

@silentwarrior, если вы работаете в Windows, в качестве обходного пути, прежде чем он будет реализован в vscode, вы можете использовать что-то вроде autohotkey

Поскольку в последнем обновлении vscode представлен поиск ссылок. Большинство людей привыкли использовать его, нажимая Ctrl + щелчок. Я пробовал то же самое, но не поддерживается.
Будем признательны, если скоро появятся ярлыки мыши.

Было бы очень полезно иметь возможность комбинировать клавиши мыши и клавиатуры изначально в keybindings.json.
Еще одна очень полезная вещь - это возможность привязать несколько комбинаций к одной команде, последнее, я думаю, довольно легко.

@ mortinger91 уже можно привязать несколько ключей к одной команде, я не знаю, что вы имели в виду.

@ mortinger91 уже можно привязать несколько ключей к одной команде, я не знаю, что вы имели в виду.

Это? Я не проводил обширных исследований по этому поводу, но, похоже, я не могу найти никакого метода, подобного
<br i="9"/> {<br i="10"/> "key": "key1","key2",<br i="11"/> "command": "do something"<br i="12"/> }<br i="13"/>
или аналогичный синтаксис для использования в settings.json, если вы не имеете в виду какой-то макрос или не используете расширение, о котором я не знаю.

@ mortinger91 вы должны делать это с помощью нескольких ключей, например:

[
   {
      "key": "combination1",
      "command": "command1"
   },
   {
      "key": "combination2",
      "command": "command1"
   }
]

@ mortinger91 вы должны делать это с помощью нескольких ключей, например:

[
   {
      "key": "combination1",
      "command": "command1"
   },
   {
      "key": "combination2",
      "command": "command1"
   }
]

да спасибо. Я уже пробовал это, но по неправильной команде подтвердил, что работает.
Тем не менее, привязка клавиш мыши

На эту проблему (https://github.com/Microsoft/vscode/issues/5402) уже упоминалось ранее в потоке, но кто-то здесь спросил, не перемещается ли эта проблема из-за проблемы с вышестоящим сервером с Electron, и насколько Я вижу, эта проблема не связана с этим, поскольку у Atom есть расширение, которое позволяет такое поведение.

Если бы такое поведение можно было воспроизвести с помощью плагина в Atom, было бы это возможно в vscode?

Кто-нибудь здесь рассматривал возможность переноса расширения Atom на vscode?

Я пытался привязать «Вернуться назад» к моей 3-й кнопке мыши, в итоге я установил лучший сенсорный инструмент для вызова сочетания клавиш, когда я нажимаю кнопку мыши в VSCode. А пока может быть полезным обходным путем! 👍

Я понял, что прокрутка медленная, поискал параметр, чтобы изменить ее, и заметил «чувствительность быстрой прокрутки» и что «Alt» на самом деле является множителем скорости прокрутки. Я искал способы изменить "Alt" на "Super" в этом конкретном случае, но, к сожалению, ничего не нашел. :(

Я пытался привязать «Вернуться назад» к моей 3-й кнопке мыши, в итоге я установил лучший сенсорный инструмент для вызова сочетания клавиш, когда я нажимаю кнопку мыши в VSCode. А пока может быть полезным обходным путем! 👍

Как бы я это сделал? Я хочу, чтобы кнопка 4 мыши не вызывала команду «Вернуться» в Visual Studio Code, но я хочу, чтобы ее можно было использовать где-нибудь еще.

@Tyriar это было открыто в течение 3 лет, как мы можем помочь продвинуть это вперед? :)

@ george-cz Я хочу привязать Go back к моей 3 кнопке мыши. Как мне это сделать?

@stereokai согласно недавнему докладу @egamma , можно проголосовать за проблему, чтобы она всплыла наверх.

@ foxx1337 , вы имеете в виду отреагировать с помощью 👍 на комментарий проблемы?

у него почти 500 лайков .. сколько @egamma ему нужно ..

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

Немного изучив это, я считаю, что проблемы заключаются в следующем:

  • «Правильный» способ сделать это - получить события от хрома / электрона. Я не верю, что они разоблачены. (Обратите внимание, что это давно запрашиваемая функция в Electron, поскольку они в основном пожимают плечами и переходят на следующий уровень в стеке технологий).
  • Следующий способ - написать собственные пакеты npm, которые могут собирать эти события «со стороны» и публиковать их. Это можно сделать на всех трех ОС (по-разному) и попасть в категорию «сомнительного взлома».
  • И настоящая демонстрация: расширения не могут этого сделать, поскольку код должен запускаться «в процессе» основного приложения VSCode; и MS вряд ли примет (imo) и патч, реализующий это (см. «сомнительный» выше).

Итак ... Можно ли это сделать в расширении? В Windows - да, но для этого потребуется хакерская инъекция DLL - на этом этапе вам гораздо лучше установить какую-нибудь специальную утилиту для сторонней ОС, которая может сопоставлять дополнительные кнопки мыши с нажатиями клавиш.

Так что я могу ошибиться в любом / во всем вышеперечисленном, но это мое предположение относительно ситуации.

Боже мой. Это простая функция со стороны Windows, но ооочень сложная ...

Прошло 3 года с момента запуска потока, и похоже, что код vs практически не получил никаких функций / эргономических изменений за все время.

Подавляющее большинство комментариев здесь в лучшем случае неконструктивны. Могут ли владельцы репо рассмотреть возможность блокировки этой проблемы?

@KevinMGranger Плохое отношение не отменяет необходимости или актуальности этой проблемы.

@stereokai Я знаю, это одно из моих главных желаний по VS Code. Но обсуждение здесь на самом деле не помогает реализовать эту функцию. Блокировка не означает WONTFIX.

@KevinMGranger К сожалению, блокировка этой проблемы также предотвратит : +1: реакции на первое сообщение, что делает реальное количество людей, заинтересованных в этой проблеме, неизвестным (хотя, учитывая текущее количество реакций, возможно, это не нужно, но я все же предпочитаю его в продолжение открыли) ..

Если вы используете Mint, вы можете просто отключить Alt Click, выбрав Системные настройки, Окно, Поведение, а затем изменить «Специальную клавишу для перемещения и изменения размера окна». Таким образом, alt + click будет работать в vscode.

Для записи: сообщение @ncesar , которое относится ко всем, кто использует Cinnamon (например, Cinnamon в Fedora)

+1, щелчок правой кнопкой мыши для копирования относительных путей было бы здорово! (еще лучше была бы возможность привязки перетаскивания в текущий файл для вставки пути relpath, но это другое дело)

+1, Ctrl + щелчок правой кнопкой мыши для просмотра определения будет удобен для чтения исходного кода!

в Windows я использую ctrl + click для перехода по ссылке и alt + click для добавления курсора
но в Linux мне нужно изменить его на alt, но alt + click для перехода по ссылкам не работает.

Я хотел бы иметь возможность сопоставить среднюю кнопку мыши, чтобы она «вставляла в положение курсора мыши» на моем Mac. Я привык к такому поведению из своего linux boxen.

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

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

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

Таким образом, помимо повторной привязки левого / правого щелчка, повторная привязка других входов мыши также будет полезна.

+1. Эта функциональность действительно необходима для поддержки ctrl + click для выбора слова. Ctrl + Click не подходит к определению, независимо от того, сколько людей думают, что это должно быть. Одна только эта функция - единственная причина, по которой я не могу использовать VSCode, даже если хочу.

С точки зрения производительности я бы хотел привязать «средний щелчок» к «Goto Definition». Webstorm имеет это по умолчанию, и это значительно упрощает навигацию по коду.

Когда я имею в виду производительность, я имею в виду производительность разработчика

С точки зрения производительности я бы хотел привязать «средний щелчок» к «Goto Definition». Webstorm имеет это по умолчанию, и это значительно упрощает навигацию по коду.

Пока это настройка, меня устраивает. В моей системе это помешало бы механизму вставки.

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

@ krux02 вы всегда можете внести свой вклад кодом вместо snark. Или просто воздержитесь от комментариев.

Будет ли у вас мотивация работать над проектами FOSS, если ваши пользователи будут вести себя так же, как вы? Будьте вежливы, эти «идиоты» по другую сторону системы отслеживания проблем - такие же люди, как вы и я, и у них тоже есть чувства.

@jrial , я работаю над бесплатным программным обеспечением с открытым исходным кодом, а также участвую в других проектах, вы можете убедиться в этом, посетив мой профиль на github. И да, мне тоже приходится иметь дело с надоедливыми пользователями. Но это не просто шутка. Если вы посмотрите на мои прошлые комментарии, то в прошлом я давал положительные отзывы. Но после более 3-х лет молчания со стороны разработчиков и никаких улучшений. Могли бы хоть извиниться и объяснить, почему это сложно исправить, но нет, никакой реакции нет. Мой единственный вывод: разработчикам все равно.

И нет, я тоже не участвую в исправлении этого. Причина №1: я не использую VSCode из-за подобных проблем.

В прошлом году я кратко попытался исправить это, но не смог понять, как собрать и запустить VS Code локально из исходного кода, чтобы я мог его отлаживать и тестировать. На самом деле я использую VS Code только для некоторых небольших сторонних проектов, поэтому время, которое я должен вложить в такие изменения, ограничено. Я не удивлюсь, если найду еще одного или нескольких людей, заинтересованных в этой проблеме в той же лодке.

Мы хотим использовать Ctrl + щелчок для выбора слова вместо перехода к определению, но такой возможности нет!

Полная интеграция с мышью была бы замечательной. Любая комбинация Ctrl / Shift / Alt плюс наиболее распространенные кнопки мыши (правый / левый щелчок, прокрутка вверх / вниз, средний щелчок / правый / левый и обычная кнопка мыши 4/5 / вперед / назад) будет потрясающей.

Скоро 4 года с момента открытия билета. На горизонте еще ничего нет?

Был ли регресс в отношении # 71318, поскольку назад / вперед, похоже, не работает на 1.39 на MacOS, можете проверить и с Linux.

Они должны поставить это как новогоднюю резолюцию 2020! Прошло почти 4 года, а привязка клавиш по нажатию до сих пор не поддерживается.

Из-за этого я не думаю, что смогу защищать VSCODE или мотивировать людей больше использовать: /

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

Какие-нибудь обновления, когда эта функция будет доступна?

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

Я бы не возражал, пока он остается необязательным, и никакие стандартные ярлыки не используют среднюю кнопку мыши везде, где можно вставить текст. Это сделано для того, чтобы не оттолкнуть пользователей * nix, для которых средняя мышь приравнивается к «вставке из вторичного буфера» и которые закрепили это за мышечной памятью после многих лет использования.

На самом деле, я думаю, что этот вопрос состоит из двух:

  1. Добавление дополнительных настроек для ярлыков, то есть, например, возможность определения настраиваемых ярлыков для таких действий, как выбор слова.
  2. Разрешение «сочетаний клавиш» быть не только сочетаниями клавиш, но и сочетаниями клавиш мыши, то есть просто для демонстрации, вместо выделения F5 для запуска команды отладки, возможность выделить для этого Ctrl + Shift + средний щелчок мышью.

Если эти два вопроса будут решены, мы решим эту проблему полностью.
Однако я хочу заняться этим вопросом:
Я могу справиться со второй проблемой. Но для начала мне нужен список дополнительных ярлыков, которые вы хотите. И поскольку я думаю, что это отдельная проблема, я сейчас внесу свой вклад только по второй проблеме. Думаю, нам следует разделить этот вопрос.

Как я и скомпрометировал, я реализовал вторую часть - теперь в моей ветке вы можете связывать кнопки мыши с командами, включая клавиши-модификаторы и аккорды.

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

На самом деле процесс прост: для каждого действия извлеките его из встроенного в код отдельной команды, (при необходимости) добавьте новые контексты, чтобы отметить, когда эта команда включена, и, наконец, определите для нее ярлык по умолчанию, вместо предыдущего с помощью мыши.

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

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

Вот что у меня есть на данный момент, вам предлагается добавить свои собственные. Комментарий в этом выпуске.

  • Перейти к определению (Ctrl + щелчок)
  • Выбрать слово целиком (двойной щелчок)

Замечание о «выделении всего слова»: я не проверял его (надеюсь, скоро), но, хотя мне кажется довольно простым, даже жизненно важным, продублировать это как команду, то есть предоставить команду, которая будет делать побочную и может быть выделен (например) по запросу здесь для Ctrl + Click, я думаю, что это сложно, а может быть, даже невозможно извлечь , то есть иметь возможность выделить двойной щелчок для другой цели. Это потому, что (опять же, я еще не проверял) эта функция является частью основного редактора и (возможно, снова) может потребовать рефакторинга сотен строк кода. Однако я попробую и сообщу вам о результатах, пока они будут доступны 🎉 🎉 🎉

Большое спасибо!

Я бы добавил:

  • Определение взгляда (например, для добавления как Shift-Ctrl-Click)
  • Просматривать ссылки (Ctrl-щелчок уже работает, если курсор находится на определении переменной)

@benoitmasson Есть ли ярлык для "Peek definition"? Я не знаю ни одного (конечно, с помощью мыши).

  • средняя кнопка = "вставить буфер обмена" или предпочтительно "переместить курсор в эту точку и вставить буфер обмена"
  • левая кнопка перетащите текст = "выбрать и скопировать текст в буфер обмена"

@benoitmasson После некоторого исследования я обнаружил, что ваш так называемый ярлык для "просмотра ссылок" не настоящий; команда "перейти к определению" делает то, что вы описали, когда вызывается в строке объявления. Если это проблема, то это из-за команды - я не собираюсь с этим справляться.

Похоже, вы не понимаете: я не собираюсь менять комбинации клавиш по умолчанию. Думаю, даже Microsoft не одобрит такой пиар. Я ДЕЛАЮ извлекаю действия в команды вместо встроенного поведения, поэтому ВЫ можете легко создавать с ними свои собственные ярлыки мыши,

Хорошо, я не уверен, что понимаю вашу точку зрения, но я постараюсь уточнить свой комментарий. Возможно, не все будет иметь отношение к вам, поэтому выберите там, что хотите:

  • Определение Peek и ссылки Peek уже являются командами кода VS (см. Https://code.visualstudio.com/Docs/editor/editingevolved#_peek), поэтому, возможно, вы не хотите иметь с ними дело конкретно (насколько я понимаю, ваш PR позволит переключиться с привязки клавиш клавиатуры к привязкам мыши, что здорово).

  • Точнее, я бы хотел иметь возможность привязки мыши к определению «Перейти к определению» И определению «Просмотр» (обе команды, обе уже возможны с помощью мыши с версии 1.43, но вы должны выбрать одну, я бы хотел может сделать и то, и другое с помощью модификатора клавиатуры + щелчок)

  • Наконец, команда "Просмотр ссылок" уже имеет привязку к мыши при нажатии на определение, удерживая Ctrl (мне там ничего не нужно, просто чтобы вы знали)

И если все это выходит за рамки, не беспокойтесь и извините за шум ...

Что касается кратких ссылок, я бы подумал, что, поскольку ctrl / cmd- "left click" уже привязан к этому (но жестко запрограммирован), то его, вероятно, следует изменить так, чтобы ctrl / cmd- "left click" было привязкой по умолчанию с этим новым PR но можно изменить.

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

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

@AndreasBackx Нажатие средней кнопки - я уже реализовал эту функцию.
Назад, вперед - я этих кнопок не знаю. Вы можете объяснить, пожалуйста?
Горизонтальная прокрутка - если вы имеете в виду прокрутку колесом мыши, вы не можете настроить ее с помощью моей реализации, и я не собираюсь ее реализовывать, потому что, в отличие от других функций, колесико мыши требует непрерывной связи между службой привязки клавиш и командой для быть выполненным, т.е. не только после завершения прокрутки, мы должны вызывать команду, но и посередине. Представление этого, IMHO, потребовало бы изменений API, чтобы разрешить такую ​​связь (фактически, новый тип команды, который влияет на новые методы регистрации и вызова, даже на новые протоколы - не очень хорошо), и я не хочу вдаваться в эту тему. Это также причина, по которой я не реализовал общее перетаскивание мышью - то есть мой PR позволяет настраивать перетаскивание текста редактора или выделения, но не общее перетаскивание, как в проводнике файлов, когда вы перетаскиваете файл в папку. , потому что этот вид перетаскивания потребует, опять же, непрерывного взаимодействия, чтобы обеспечить визуальную обратную связь с пользователем (в моем примере имя перетаскиваемого файла). Однако, если от сообщества будет положительный отзыв об этих возможностях, я согласен пересмотреть свое решение, но в рамках отдельного вопроса и обсуждения с сотрудником Microsoft (из-за изменений API).

@ ChayimFriedman2 Кнопки "назад" и "вперед" - это дополнительные кнопки, которые есть у некоторых мышей, обычно под большим пальцем. Они появляются как дополнительные кнопки. У некоторых мышей вместо этих кнопок или в дополнение к ним есть дополнительное колесо прокрутки. У некоторых кнопок даже больше.

Для прокрутки не должно требоваться ничего, кроме обычных кнопок мыши, так как каждое дискретное нажатие колеса прокрутки воспринимается ОС как нажатие кнопки. Колесо прокрутки просто добавляет 2 дополнительные кнопки, которые издают сигналы при повороте колеса. Например, в Linux xev при прокрутке вниз на одну ступеньку сообщает следующее:

ButtonPress event, serial 38, synthetic NO, window 0x9800001,
    root 0x255, subw 0x0, time 1417460611, (103,113), root:(1285,747),
    state 0x10, button 5, same_screen YES

ButtonRelease event, serial 38, synthetic NO, window 0x9800001,
    root 0x255, subw 0x0, time 1417460611, (103,113), root:(1285,747),
    state 0x1010, button 5, same_screen YES

тогда как прокрутка вверх выглядит так:

ButtonPress event, serial 38, synthetic NO, window 0x9800001,
    root 0x255, subw 0x0, time 1417468067, (103,113), root:(1285,747),
    state 0x10, button 4, same_screen YES

ButtonRelease event, serial 38, synthetic NO, window 0x9800001,
    root 0x255, subw 0x0, time 1417468067, (103,113), root:(1285,747),
    state 0x810, button 4, same_screen YES

Сравните с обычным щелчком левой кнопки мыши:

ButtonPress event, serial 38, synthetic NO, window 0x9800001,
    root 0x255, subw 0x0, time 1417598246, (135,115), root:(1317,749),
    state 0x10, button 1, same_screen YES

ButtonRelease event, serial 38, synthetic NO, window 0x9800001,
    root 0x255, subw 0x0, time 1417598297, (135,115), root:(1317,749),
    state 0x110, button 1, same_screen YES

@jrial Подскажите , пожалуйста, какие коды MouseEvent.button для перехода вперед и назад?

@jrial И если вы можете, вы сказали, что есть еще - пришлите мне список имен / кодов в браузере.

@jrial Но я не планирую внедрять колеса. Я также беспокоюсь о влиянии такой функции на производительность - прокрутка - это быстрая операция, в отличие от щелчка мышью и нажатия клавиш. Это означает, что нам нужно запускать команду много раз.

@jrial Подскажите , пожалуйста, какие коды MouseEvent.button для перехода вперед и назад?

Я не специалист по JS, но быстрый поиск показывает, что вы получаете доступ к колесам через WheelEvent. См. Https://www.w3.org/TR/DOM-Level-3-Events/#events -wheelevents.

Что касается кнопок назад и вперед, см. Https://www.javascripture.com/MouseEvent и https://www.w3.org/TR/DOM-Level-3-Events/#dom -mouseevent-button.

@jrial Подскажите , пожалуйста, какие коды MouseEvent.button для перехода вперед и назад?

Проверьте это, здесь упоминаются кнопки назад и вперед: https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/button

Перейти к реализации было бы отличным вариантом, если бы для него был ярлык мыши. https://code.visualstudio.com/Docs/editor/editingevolved#_go -to-implementation

Очевидно, что в идеальном сценарии ярлыки мыши можно настроить для использования любой кнопки и / или комбинации клавиш. Если это невозможно, ИМО, было бы обидно, если бы для ярлыка требовались определенные кнопки мыши, которые не всегда доступны.

Я думаю, и все из моих коллег, что поведение Visual Studio 20xx по умолчанию (Ctrl + Click) было бы огромным улучшением: выберите основное слово под курсором, и при перемещении вперед или назад также выбираются следующие слова.

Я хотел бы еще раз упомянуть: ДУМАЙТЕ ЭТО: Я НЕ СОБИРАЮСЬ МЕНЯТЬ ТЕКУЩЕЕ ПОВЕДЕНИЕ .

Хотите ярлыки, отличные от стандартных? Конечно! Создайте собственное расширение для привязки клавиш (если хотите
чтобы поделиться им с другими, в противном случае просто измените свой keybindinbgs.json или используйте редактор привязки клавиш).

Благодаря моей работе станет возможным использование ярлыков мыши, но стандартные не будут изменены. Разработчики не любят изменений.

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

Я знаю, что этого ожидают мои сообщения / запросы.

-
Алан Хойл - [email protected] - alanhoyle.com


От: Хаим Рафаэль Фридман [email protected]
Отправлено: суббота, 21 марта 2020 г., 13:56:19
Кому: microsoft / vscode [email protected]
Копия: Алан Хойл [email protected] ; Комментарий [email protected]
Тема: Re: [microsoft / vscode] Разрешить настройку сочетаний клавиш (# 3130)

Я хотел бы еще раз упомянуть: ДУМАЙТЕ ЭТО: Я НЕ СОБИРАЮСЬ МЕНЯТЬ ТЕКУЩЕЕ ПОВЕДЕНИЕ.

Хотите ярлыки, отличные от стандартных? Конечно! Создайте собственное расширение для привязки клавиш (если хотите
чтобы поделиться им с другими, в противном случае просто измените свой keybindinbgs.json или используйте редактор привязки клавиш).

Благодаря моей работе станет возможным использование ярлыков мыши, но стандартные не будут изменены. Разработчики не любят изменений.

-
Вы получили это, потому что оставили комментарий.
Ответьте на это письмо напрямую, просмотрите его на GitHub https://github.com/microsoft/vscode/issues/3130#issuecomment-602079576 или откажитесь от подписки https://github.com/notifications/unsubscribe-auth/AACGX4ZLQHZA2FMDCUYI3DTRIT6MUHAN .

@alanhoyle Что ты хочешь сказать обо мне? (или вы просто хотите упомянуть)

У меня возникла небольшая проблема - если кто-нибудь может помочь, буду очень счастлив.

Вначале я уже видел, что не могу привязать команды к двойному щелчку левой или правой кнопкой мыши.

Почему? потому что мы не можем отличить одиночный щелчок от двойного щелчка. См. Https://stackoverflow.com/questions/5497073/how-to-differentiate-single-click-event-and-double-click-event. Правая кнопка - самая проблемная: она вызывает контекстное меню. Но также левый может воздействовать на кнопки и т. Д.

Как было предложено в соответствующем ответе SO (я тоже думал об этом), вы можете использовать тайм-аут. Но это не может быть настроено в соответствии с таймаутом ОС для двойного щелчка.

Я оставил два варианта:

  • Когда событие dblclick запускается для правой кнопки, скройте контекстное меню. Это слишком сложный и уродливый подход (ИМХО), и он не обрабатывает такие случаи, как нажатие кнопки левой кнопкой - вы не можете отменить действие, которое было выполнено обработчиком кликов!
  • Как я и думал, используя тайм-аут. У этого подхода есть две проблемы:

    • Тайм-аут должен соответствовать настройкам ОС. Это разрешимо, потому что мы находимся в Node.js и можем взаимодействовать с ОС (в отличие от js, работающего в браузере), но я не знаю API Electron, который принесет нам запрошенный тайм-аут. Конечно, мы можем либо искать такой модуль в npm, либо я могу написать свой собственный, но этот модуль должен быть собственным модулем (то есть написанным на C ++), и добавление собственного модуля в сборку должно выполняться только после обсуждения с Член Microsoft.

    • Это повредит UX, так как ему придется некоторое время ждать контекстного меню (не так много времени, с точностью до секунды, но это вряд ли повредит производительности).

А пока (и, вероятно, так и останется), я просто выхожу сообщение об ошибке, когда пользователь пытается использовать эти ярлыки. Это отлично работает.

Я хочу начать обсуждение: по вашему мнению, при выполнении ярлыка выбора (ярлык использует это выделение мыши), когда команда (скажем, «Копировать») была выполнена, что мы должны делать и почему?

  • Восстановить предыдущее выделенное (я не думаю, что пользователь ожидает увидеть это: они выделяют текст, он выделяется, и как только они заканчивают свой выбор - выделение переходит в другое место ...)
  • Оставайтесь с выделенным текстом.
  • Переместите курсор в конец выделения.
  • Оставайтесь с курсором в начале выделения (как №1 из-за того, что при выборе курсор находится в конце).

Хотелось бы услышать ваше мнение 😃

@ ChayimFriedman2 Я бы не стал делать ничего лишнего. Разве нельзя определить список команд? Таким образом, можно сначала выполнить команду копирования, а затем, при желании, снять выделение.

Во-вторых, возможность заставить ctrl + click выполнить «Перейти к реализации». На самом деле я оказался в этой теме, потому что мне нужен этот вариант. Выскакивающее меню, спрашивающее пользователя, хотят ли они просмотреть оператор импорта в том же самом файле или фактическую реализацию, всегда было моим нет. 1 раздражение в VScode.

@kasvtv Сейчас я использую Ctrl+Alt+z чтобы перейти к реализации, потому что я могу работать одной рукой (если не ошибаюсь, по умолчанию Ctrl+F12 ), но я все же предпочитаю Ctrl+click или Ctrl+Alt+click подход.

Пожалуйста, пожалуйста, просто дайте возможность использовать [ctrl] [click], чтобы иметь возможность выделять слово целиком, как это делает Visual Studio. Меня не волнует, как вы это делаете, но, пожалуйста, пожалуйста, просто сделайте это. Если вы когда-либо им пользовались, то знаете, насколько легко это делает жизнь программиста. Программистам вроде меня это очень нравится, потому что, добавляя новую функцию, мы часто начинаем с шаблона, а затем меняем детали для наших целей. Для этого мы несколько раз меняем слова на другие слова в функции. Наличие [ctrl] [щелчка] делает это ДЕЙСТВИТЕЛЬНО быстрым и легким: заполнить буфер обмена [ctrl] [щелчок], [ctrl] C ... затем, чтобы изменить слово, это просто [ctrl] [щелчок], [ctrl] В. Что делает его ТАК прекрасным, так это то, что вы все время удерживаете клавишу [ctrl]. Он настолько полезен и естественен, что, если вы используете его несколько раз, вы быстро становитесь зависимым от него, а когда его убирают, ваша продуктивность падает.

Пожалуйста.

просто предоставьте возможность использовать [ctrl] [click], чтобы иметь возможность выделять слово целиком, как это делает Visual Studio.

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

Также: это средство отслеживания проблем для IDE. Написано разработчиками программного обеспечения и для них. Я не думаю, что вам нужно писать новеллу, объясняющую, почему выделение всего слова может быть полезно для «таких программистов, как я». Мы знаем... ;)

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

У меня нет такой мышечной памяти, но я считаю, что способность менять такие вещи очень важна. Мне трудно поверить, что есть много людей, которые какое-то время занимались программированием, но не усвоили одну или две нестандартные привычки - моя, в частности, заключается в том, как возвышенный стиль alt + drag для прямоугольного выбора. После более чем года использования vscode я сломал мышечную память, но по-прежнему теряю функциональность.

Я не хочу сказать, что моя проблема более важна или что-то в этом роде (хотя у нее нет хорошей "стандартной" альтернативы, которая работает на трекпаде), но то, что существующая стандартизованная форма на самом деле не является хорошим аргументом за то, что не поддерживает что-то.

Тем не менее, это, вероятно, выходит за рамки темы, так что лучше, если мы не будем бить в этот барабан намного дальше ...

Просто дважды щелкните слово. Это мышечная память, которая пригодится вам в гораздо большем количестве ситуаций, поскольку это более или менее кроссплатформенный стандартизованный способ выделения целых слов.

🤨

Ctrl + Click - это жест, предназначенный для выбора слов вместо символов, а не отдельного слова . Вы никогда не сможете сделать так много с гораздо более медленным двойным щелчком.

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

Вот как работает Visual Studio:

  • Shift Down Запускает выбор клавиатуры
  • Mouse Button 1 Down Запуск выбора мыши / Если Shift не работает, устанавливает начало выделения в предыдущем месте курсора редактирования.
  • Ctrl Down + Selection Изменяет поведение выделения на пословное (динамическое переключение для выделения с клавиатуры)
  • Alt Down + Selection Изменяет поведение выбора для столбца / поля (нельзя отключить, отпустив клавишу, но можно включить динамически для выбора с клавиатуры)

Суть в том, что Ctrl и Alt (и, возможно, другие / будущие модификаторы) действуют как модификаторы поведения выбора в основном согласованным образом, независимо от источника выбора (мышь или клавиатура). .
В некоторых случаях, очевидно, существуют различия между режимами выбора с помощью мыши и клавиатуры, но вы не заметите этого, если специально не ищете.

Но сравните это с тем, как VS Code (глубоко) нарушен, когда дело доходит до согласованности между выбором клавиатуры и мыши:

  • Выбор столбца с помощью мыши будет Shift + Alt + Mouse Button 1 с помощью мыши, но он станет Shift + Ctrl + Alt + Arrow Keys с клавиатуры. Дополнительный ключ, вот так. 🤷‍♂️
  • Выбор слова будет Shift + Ctrl + Arrow Keys с помощью клавиатуры, и ... Ой, как жаль, мы забыли мышь! 😐

Кажется, что в реализации выделения текста VS Code есть только особые случаи. Не знаю, как мы к этому пришли, но это действительно плохо.

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

@GoldenCrystal VS Code реализует общую парадигму терминалов и текстовых областей, где перетаскивание одним щелчком выполняется по глифу, перетаскивание с двойным щелчком выполняется по слову, а в качестве бонуса перетаскивание с тройным щелчком выполняется по строке.

Находясь в Риме, наслаждайтесь местными традициями и обратите внимание, что не-Code VS - это странно.

просто предоставьте возможность использовать [ctrl] [click], чтобы иметь возможность выделять слово целиком, как это делает Visual Studio.

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

Также: это средство отслеживания проблем для IDE. Написано разработчиками программного обеспечения и для них. Я не думаю, что вам нужно писать новеллу, объясняющую, почему выделение всего слова может быть полезно для «таких программистов, как я». Мы знаем... ;)

Просто попробуйте дважды щелкать по любому элементу в течение всего дня ... вы обнаружите, что много раз мышь или ваш палец не выполняли правильные действия, и вы щелкали одним щелчком, а не дважды. Затем сделайте Ctrl-щелчок, чтобы открыть новое окно прямо здесь, и посмотрите, сколько раз вам придется закрыть окно, которое вы случайно открыли. Одиночный щелчок в 100 раз проще и менее подвержен ошибкам.

Я занимаюсь разработкой программного обеспечения 35 лет. Если действительно так сложно добавить туда опцию, позволяющую нам указать, хотим ли мы такое поведение или «определение взгляда», то я утверждаю, что программа разработана не очень хорошо. Зачем заставлять нас делать что-то менее оптимальное и более подверженное ошибкам? Просто сделай это и перестань спорить об этом. Microsoft сделала это как для Visual Studio, так и для SQL Server Management Studio. Нам это нравится, потому что он НАСТОЛЬКО естественный и эффективный.

Я НАСТОЛЬКО близок к тому, чтобы сказать «F VS Code» и написать свой собственный или найти другого редактора, который поддерживает это. Вот насколько это ценно.

Возможно, вы не понимаете, почему это так ценно для нас, потому что, возможно, вы не понимаете, что это неотъемлемая часть нашей повседневной деятельности. Одна из самых распространенных вещей, которую многие программисты делают в течение всего дня, - это выделять слово, копировать его, а затем заменять другое слово на него в другом месте. С помощью [ctrl] [click] для выбора слова это ДЕЙСТВИТЕЛЬНО эффективно ... удерживая клавишу [ctrl], вы просто [щелкаете], c, чтобы скопировать слово и [щелкните] v, чтобы заменить целевое слово. Без [ctrl] [щелчок] для выбора слова вам нужно дважды щелкнуть по крайней мере дважды, один раз, чтобы выбрать исходное слово, а затем каждый раз, чтобы выбрать целевое слово. Двойной щелчок - операция, подверженная ошибкам. Неужели действительно так сложно ввести настройку конфигурации вместо "определения взгляда"? У вас уже есть настройка, чтобы отключить его. Как трудно это может быть?

Есть ли хотя бы способ просто отключить действие ctrl-click, чтобы оно не переходило к определению?

Во-вторых, возможность заставить ctrl + click выполнить «Перейти к реализации». На самом деле я оказался в этой теме, потому что мне нужен этот вариант. Выскакивающее меню, спрашивающее пользователя, хотят ли они просмотреть оператор импорта в том же самом файле или фактическую реализацию, всегда было моим нет. 1 раздражение в VScode.

Этот! IMO «перейти к реализации» гораздо более естественно, когда выполняется как точка и щелчок, являясь логическим расширением «перейти к определению», например, как это работает в ReSharper - CTRL + ALT + LMB

Есть еще способ сделать ctrl + click в Visual Studio ??

@thedrean, вы имеете в виду код Visual Studio (код VS), верно? Visual studio - это совершенно другая IDE https://visualstudio.microsoft.com

Есть еще способ сделать ctrl + click в Visual Studio ??

Еще нет

+1 Это должно произойти вчера. Я искал в Google, как удалить функцию Ctrl + Click по умолчанию, потому что это самая неприятная вещь в VSCode, очень разочаровал. Как отметил @CCurl , разработчики делают это не просто ежедневно, а ежеминутно, а значение по умолчанию Go To Definition просто чрезвычайно раздражает. Я просто хочу быстро выделить немного текста, неужели это слишком много, чтобы требовать от IDE ?!

Зачем Microsoft эффективно обучать пользователей одному набору сочетаний клавиш (Visual Studio), а затем, казалось бы, в шутку, менять эти привязки в VSCode? Мне это кажется безумным отделом пользовательского опыта.

Другой распространенный метод - это Ctrl + K + D для форматирования. Пожалуйста, дайте нам возможность выбрать «шаблон» привязки клавиатуры, который очень похож на Visual Studio.

Еще один! Ctrl +. настолько близок к Ctrl +, что вы часто ошибаетесь, и открывается окно настроек. Раздражает.

Важно помнить, что многие пользователи VSCode ранее не использовали Visual Studio. Хотя я могу понять, что пользователи, пришедшие оттуда, ожидали бы таких же привязок клавиатуры и мыши, было бы недальновидно ограничивать функциональность, просто имитируя привязки Visual Studio.

Разрешить настройку - это ключ. Я предполагаю, что после того, как будет разрешена настройка, может быть множество расширений: одно для имитации привязок мыши Visual Studio, можно имитировать общие привязки X / Unix / Linux (например, «вставка среднего щелчка») и т. Д. Уже существуют аналогичные расширения которые делают то же самое с привязками клавиатуры для имитации других редакторов (Sublime, Emacs, VIM и т.д.), и они также могут быть расширены с помощью привязок мыши.

Не только «никогда не использовал VS», но также «использовал»".
Т.е. определение Ctrl + Click = peek также является обычным для Borland IDE.

Но вдобавок ко всему, я часто махаю мышкой, чтобы закрыть текущую открытую вкладку. Мышечная память…

Время от времени я пробовал VS Code, увидев хорошие улучшения в журнале изменений. Но первое, что меня поразило, это то, что я все еще настраиваю Alt + Click как определение взгляда. Затем я вернулся к IntelliJ. Я думаю, что многие другие будут чувствовать то же самое, не имея возможности переназначить щелчок мышью.

Ctrl + щелчок для выделения всего слова (и перетаскивание, чтобы продолжать выделять слово за словом) также является широко доступной функцией доступности.

Это не только проще и удобнее, но и полезнее (или менее вредно).

Итак, я нашел (возможно, несовершенный, но все же) обходной путь, который позволяет мне выбирать / копировать слово одним нажатием клавиши и заменять другое слово последним, что было скопировано. Он использует расширение VIM и настраиваемые привязки клавиш в нормальном режиме.

Теперь я могу щелкнуть в любом месте слова и нажать [, чтобы скопировать все слово. Затем я могу щелкнуть в любом месте другого слова и нажать], чтобы заменить это слово словом, которое я только что скопировал.

Это не идеально, и я все еще изучаю способ редактирования файлов с помощью VIM, но ДУМАЮ, что он мне понравится. VIM очень мощный.

image

Еще один способ обходапроблема щелчка ... установить расширение "макросы" от "geddski". Затем поместите это в свой файл settings.json:

"macros": {
    "copyWord": [
        "cursorWordEndRight",
        "cursorWordStartLeft",
        "cursorWordEndRightSelect",
        "editor.action.clipboardCopyAction"
    ],
    "replaceWord": [
        "cursorWordEndRight",
        "cursorWordStartLeft",
        "cursorWordEndRightSelect",
        "editor.action.clipboardPasteAction"
    ]
}

Затем привяжите их к любым ключам, которые вы хотите в своем keybindings.json:

{
    "key": "F9",
    "command": "macros.copyWord",
    "when": "editorTextFocus"
},
{
    "key": "F10",
    "command": "macros.replaceWord",
    "when": "editorTextFocus"
}

Теперь я могу щелкнуть, F9, щелкнуть, F10. Не совсем то же самое, чтощелкнутьC,щелкнутьV, но чертовски близко.

Служба поддержки! Даже Visual Studio имеет возможность настраивать размер шрифта с помощью «ctrl + прокрутка мыши».

VS Code также может масштабировать мышь, я не знаю, почему вы упомянули ЭТО без проверки.

+1

Есть ли шанс, что этот вопрос когда-нибудь будет рассмотрен? Ему уже 4 года, и он набрал более 800 голосов ... Это проблема №1, мешающая мне перейти на VS Code. В частности, я хочу иметь возможность отключить / переназначить Ctrl + Click с «Перейти к определению» на «Выбрать слово», как в Visual Studio. Хотя я получаю запрос на полнофункциональную конфигурацию мыши, я был бы доволен простой логической конфигурацией для этого параметра в качестве временного обходного пути.

Проблема https://github.com/microsoft/vscode/issues/71817#issuecomment -482754429 указывает здесь, поэтому я хотел бы спросить: есть ли способ разрешить средним щелчком мыши (PASTE) проходить через терминал?

Я использую MasOS Catalina с терминалом bash, который работает правильно в автономном режиме, но игнорирует / не получает щелчки средней мыши при внедрении в VSCode.

Терминал> Интегрированный: поведение при нажатии средней кнопки мыши
Управляет реакцией терминала на щелчок средней кнопкой мыши.
(значения раскрывающегося списка: все то же, что и поведение при щелчке правой кнопкой мыши, если оно включает "вставить")

Я просто хочу вставить средний щелчок, он достаточно распространен на терминалах (например, Mac, различные Linux), поэтому его следует предлагать в качестве опции в VS Code.

Еще один голос от меня, чтобы иметь возможность вставлять средним щелчком и автоматически копировать при выборе текста в терминале

@KrisPetkov автокопирование при выборе - это уже вариант
screenshot_2020-10-12_at_14 12 58

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

Какой-либо прогресс?

ctrl + wheel -> переходить назад и вперед

Я хотел бы реализовать среднюю кнопку мыши, чтобы перейти к определению, вместо того, чтобы нажимать ctrl + click или F12.

Была ли эта страница полезной?
0 / 5 - 0 рейтинги