Sublime 3 - Установить карту клавиш для функции Goto Определение

Я хочу создать ярлык стиля Eclipse Ctrl + MouseClick, чтобы открыть функцию/метод. Sublime Text 3 уже имеет эту функцию под названием goto_definition, но она привязана к F12.

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

Изменить: После этой статьи мне сказали сделать это: http://webtempest.com/better-definition-navigation -в-возвышенного-текст-3/

[
    {
        "button": "button1", 
        "count": 1, 
        "modifiers": ["super", "shift"],
        "press_command": "drag_select",
        "command": "goto_definition"
    }
]

Это не работает, Ctrl + shift + click ничего не выполняет.

Ответ 1

Для всех, кто хочет установить определение goto стиля Eclipse, вам нужно создать файл .sublime-mousemap в папке Sublime User.

Windows - создать Default (Windows).sublime-mousemap в %appdata%\Sublime Text 3\Packages\User

Linux - создать Default (Linux).sublime-mousemap в ~/.config/sublime-text-3/Packages/User

Mac - создайте Default (OSX).sublime-mousemap в ~/Library/Application Support/Sublime Text 3/Packages/User

Теперь откройте этот файл и введите следующую конфигурацию внутри

[
    {
        "button": "button1", 
        "count": 1, 
        "modifiers": ["ctrl"],
        "press_command": "drag_select",
        "command": "goto_definition"
    }
]

Вы можете изменить modifiers, как вам нравится.


Так как Ctrl - button1 для Windows и Linux используется для множественного выбора, добавление второго ключа-модификатора, такого как Alt, может быть хорошей идеей, если вы хотите использовать обе функции:

[
    {
        "button": "button1", 
        "count": 1, 
        "modifiers": ["ctrl", "alt"],
        "press_command": "drag_select",
        "command": "goto_definition"
    }
]

В качестве альтернативы вы можете использовать правую кнопку мыши (button2) только с Ctrl и не вмешиваться в какие-либо встроенные функции.

Ответ 2

Чтобы перейти к определению в alt + d. Из меню "Настройки" > "Ключевые привязки" - "Пользователь". А затем добавьте следующий JSON.

[
    { "keys": ["alt+d"], "command": "goto_definition" }
]

Ответ 3

Если вы хотите увидеть, как выполнить правильное определение, перейдите в Sublime Text- > Preferences- > Key Bindings - Default и выполните поиск команды, которую вы хотите переопределить.

{ "keys": ["f12"], "command": "goto_definition" },
{ "keys": ["super+alt+down"], "command": "goto_definition" }

Это два, которые отображаются в моем Default.

На Mac я скопировал второй, чтобы переопределить.

в Sublime Text → Preferences → Key Bindings - User Я добавил это

/* Beginning of File */

[
    {
        "keys": ["super+shift+i"], "command": "goto_definition" 
    }
]

/* End of File */

Это связывает его с комбинацией Command + Shift + 1 на mac.

Ответ 4

ctrl!= super для окон и Linux-машин.

Если версия F12 "Goto Definition" дает результаты нескольких файлов, версия "ctrl + shift + click" может не работать. Я обнаружил эту ошибку при просмотре проекта golang с пакетом GoSublime.

Ответ 5

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

Sublime --> Preference --> Key Binding - User  

и введите следующее:

{ "keys": ["shift+command+m"], "command": "goto_definition" }

Это позволит задействовать привязку Shift + Command + M для включения определения goto. Вы можете установить привязку клавиш ко всему, что вы хотели бы, конечно.

Ответ 6

Я использую Sublime portable версию (для Windows), и это (размещение mousemap в папке SublimeText\Packages\User) не сработало для меня.

Мне пришлось поместить файл mousemap в папку SublimeText\Data\Packages\User, чтобы он работал, где SublimeText - это каталог установки для моей переносимой версии. Data\Packages\User - это то, где я нашел файл карты клавиатуры.