Вызов контекстного меню в sublime text 3
Как вызвать контекстное меню в боковом сайдбаре ST3 (кроме клика правой кнопкой мыши)? В настройках горячих клавиш пробовал повесить команду на различные комбинации:
Но ни один способ не заработал. В первом варианте контекстное меню работает в системных горячих клавишах (такое распознается нажатие на fn). Как вызвать контекстное меню в st3?
Отслеживать
задан 6 дек 2016 в 14:42
while1pass while1pass
2,265 1 1 золотой знак 29 29 серебряных знаков 58 58 бронзовых знаков
Добавление своего пункта в контекстное меню Windows
Сегодня расскажу о том как добавить свой собственный пункт в контекстное меню Windows. Я давненько пользуюсь Sublime, но меня всегда раздражало что нельзя сразу открыть папку в редакторе. Такого пункта просто нет.
Добавление (редактирование) пунктов в контекстное меню происходит в “Редакторе реестра”. Чтобы его открыть жмём “Пуск – Выполнить” или нажимаем одновременно клавиши “Windows и R”. В открывшимся окошке вписываем “regedit” и жмём “OK”.
Ветка реестра в которой мы будем работать зависит от объекта над которым мы хотим произвести действие.
- Для файлов: “HKEY_CLASSES_ROOT/*/shell”
- Для папок папок: “HKEY_CLASSES_ROOT\Folder\shell”
- Для запоминающих устройств (диски, флешки и др.): “HKEY_CLASSES_ROOT\Drive\shell”
- Для “Мой компьютер” (“Этот компьютер”): “HKEY_CLASSES_ROOT\CLSID\shell”
- Для “Рабочего стола”: “HKEY_CLASSES_ROOT\DesktopBackground\Shell”
- Для “Корзины”: “HKEY_CLASSES_ROOT\CLSID\shell”
Итак, так как я хочу добавить пункт для папки, то я буду работать в ветке “HKEY_CLASSES_ROOT\Folder\shell”.
Для одиночного пункта
1. Переходим в ветку “HKEY_CLASSES_ROOT\Folder\shell”
2. Внутри раздела “shell” создаём раздел с каким угодно названием, но на латинице. У меня будет “opentosublime”.
3. Внутри нового раздела (“opentosublime”) создаём “Строковый параметр” с названием “MUIVerb”, а в значении пишем то что хотим видеть в контекстном меню. У меня будет “Открыть в Sublime”.
Немного теории. Можно создать ещё несколько строковых параметров:
- Position – определяет, в каком месте контекстного меню будет находиться пункт. “Top” (вверху) или “Bottom” (внизу). Если этот параметр не создавать, пункт будет отображаться в середине контекстного меню.
- Icon – определяет, какая иконка будет отображаться в контекстном меню слева от пункта. В значении нужно указать путь до иконки формата “.ICO” или путь к программе, тогда будет использоваться иконка этой программы.
- Extended – определяет, является ли созданный пункт “скрытым”. Чтобы он отображался, перед открытием контекстного меню нужно будет нажать и удерживать клавишу Shift. Если не создавать, пункт будет виден.
- SubCommands – определяет, является ли пункт выпадающим списком.
4. Я создам “Строковый параметр” с названием “Icon”, а в значении укажу путь до программы “Sublime Text”.
5. Создадим внутри раздела “opentosublime” ещё один раздел с названием “command”.
6. В разделе “command” есть 1 параметр типа “REG_SZ” и названием “По умолчанию”, изменим его значение на действие которое мы хотим совершить. Мне нужно чтобы папка по которой я щёлкаю правой кнопкой мыши открывалась в редакторе “Sublime”, для этого я впишу в значение путь до программы “C:\Program Files\Sublime Text\sublime_text.exe”, а также параметр “%1”. В этом параметре передаётся путь к элементу над котором мы совершаем действие. Т.е. у меня это путь к папке.
Проверяем новый пункт меню. Работает.
Для вложенных пунктов.
Я хочу чтобы у меня была возможность выбора редактора (“Sublime” и “Notepad++”) для открытия папки.
1. Создадим раздел “opentoeditor” внутри “HKEY_CLASSES_ROOT\Folder\shell”.
2. Внутри раздела “opentoeditor” создадим “Строковый параметр” с названием “MUIVerb” и значением “Открыть в редакторе”.
3. Внутри раздела “opentoeditor” создадим “Строковый параметр” с названием “SubCommands” и значением “editor1;editor2”. Значения пишем через “;” их количество должно соответствовать количество подпунктов.
4. Переходим в ветку “HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell и создаём в ней разделы с названием значений которые указывали раннее (editor1, editor2).
- Внутри каждого нового пункта (editor1, editor2) создадим строковый параметр “Icon”.
- Внутри каждого нового пункта (editor1, editor2) создадим раздел с названием “command”.
5. Внутри каждого “command” изменим значение параметра “REG_SZ” на путь до редактора + параметр “%1”
В итоге получилось так.
Вообще, есть множество готовых программ для редактирования контекстного меню, например Easy Context Menu
Как добавить иконку Sublime Text в контекстное меню проводника Windows?
После установки Sublime Text в Windows 10 я обнаружил, что при вызове контекстного меню в пункте “Open With Sublime Text” отсутствует иконка этого редактора, но, к счастью, это легко исправить, выполнив несколько несложных операций.
С помощью комбинации клавиш Win + R вызовите меню “Выполнить” и введите в нём regedit для запуска редактора реестра. В редакторе перейдите по пути:
HKEY_CLASSES_ROOT\*\shell\Open with Sublime Text
В этой ветке реестра необходимо нажать Создать → Строковый параметр и в поле Имя укажите значение Icon , а в поле Значение укажите путь к exe-файлу, как показано ниже (кавычки обязательны):
«C:\Program Files\Sublime Text 3\sublime_text.exe»
Если вы всё сделали правильно, то в контекстном меню пункт “Open With Sublime Text” будет выглядеть так:
Аналогичным образом можно добавить иконку для любой другой программы.
Возможно ли sublime text 3 добавить в контекстное меню windows7?
Возможно ли добавить sublime text 3 в контекстное меню так, чтобы нажав на папке или файле правой кнопкой мыши была строчка «открыть в sublime text 3» ?
Если можно то напишите пожалуйста код, ведь он наверняка простой и не объемный.
- Вопрос задан более трёх лет назад
- 6991 просмотр
2 комментария
Оценить 2 комментария
Сергей @SirBataneg
получилось сделать?
vasIvas @vasIvas Автор вопроса
Сергей: неа. У меня портабл версия. А по ссылке на создание bat говорится о виндовс восемь.
Решения вопроса 2
Сергей @SirBataneg
веб-разработчик
Быть может поможет вот это
А так, в принципе, при установке он предлагает добавить пункты в контекстное меню.
Ответ написан более трёх лет назад
Нравится 8 6 комментариев
vasIvas @vasIvas Автор вопроса
К сожалению это для 8.1, а у меня семерка.
Сергей @SirBataneg
vasIvas: тут без разницы 7, 8, 8.1
Сергей @SirBataneg
vasIvas: If your are running on windows 8.1, to launch the file just right click the file and chose “Run as administrator”. О восьмёрке идёт речь только про запуск под админом батника.
vasIvas @vasIvas Автор вопроса
Проверено, на WIN7 работает
windows 10 — работает. Спасибо!
Константин @fallen8rwtf
смотрите в сторону редактирование реестра. делал такое для открытия файла в cmd. под рукой сейчас нет инфо
Ответ написан более трёх лет назад
Нравится 1 8 комментариев
Константин @fallen8rwtf
скиньте ссыль на портабл, вышлю вам решение
vasIvas @vasIvas Автор вопроса
Константин @fallen8rwtf
vasIvas: окей.
к примеру, Sublime лежит у нас по C:\SUBLIME. Создайте REG-файл с таким содержимым:
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\*\shell\Sublime\command]
@=»C:\\SUBLIME\\Sublime Text Build 3083 x64\\subl.exe %1″
и откройте его, либо вручную создайте нужные ветки в реестре (только используйте одиночные слэши)
Константин @fallen8rwtf
vasIvas: Соответственно, вы можете сами назначить для каких типов файлов у вас будет появляться нужный пункт в контекстном меню. Здесь указана звездочка, можно задать для файлов log,txt и так далее на ваше усмотрение
Константин @fallen8rwtf
Константин: И после shell указывается название самого пункта. Можете назначить что угодно))
Константин @fallen8rwtf
Не заморачивался так, по идее вам нужно будет уже назначить конкретные типы расширений и для них создать раздел DefaulIcon со значением пути ярлыка
Константин @fallen8rwtf
vasIvas: на папку? типа все файлы в папке открыть в sublime?
vasIvas @vasIvas Автор вопроса
Константин: наверное да. Но у меня уже получилось. Спасибо Вам за помощь!
Ответы на вопрос 3
make const not var
При установке Sublime есть checkbox «Add to explorer context menu»
Ответ написан более трёх лет назад
Нравится 3 2 комментария
vasIvas @vasIvas Автор вопроса
Только вот у меня портабл.
vasIvas: Ну тогда да, без редактирования реестра никак
Через реестр можно добавить:
С помощью комбинации клавиш Win + R вызовите меню “Выполнить” и введите в нём regedit для запуска редактора реестра. В редакторе перейдите по пути:
HKEY_CLASSES_ROOT\*\shell\Open with Sublime Text
В этой ветке реестра нам необходимо нажать Создать → Строковый параметр и в поле Имя укажите значение Icon, а в поле Значение укажите путь к exe-файлу, как показано ниже (кавычки обязательны):
“C:\Program Files\Sublime Text 3\subl.exe”
Ответ написан более трёх лет назад
Комментировать
Нравится Комментировать
Jenya Sokolov @KoYoT_Style
full stack web-dev
Создайте «батник» с содержанием:
@echo off SET st3Path=C:\Program Files\Sublime Text 3\sublime_text.exe rem add it for all file types @reg add "HKEY_CLASSES_ROOT\*\shell\Open with Sublime Text 3" /t REG_SZ /v "" /d "Open with Sublime Text 3" /f @reg add "HKEY_CLASSES_ROOT\*\shell\Open with Sublime Text 3" /t REG_EXPAND_SZ /v "Icon" /d "%st3Path%,0" /f @reg add "HKEY_CLASSES_ROOT\*\shell\Open with Sublime Text 3\command" /t REG_SZ /v "" /d "%st3Path% \"%%1\"" /f rem add it for folders @reg add "HKEY_CLASSES_ROOT\Folder\shell\Open with Sublime Text 3" /t REG_SZ /v "" /d "Open with Sublime Text 3" /f @reg add "HKEY_CLASSES_ROOT\Folder\shell\Open with Sublime Text 3" /t REG_EXPAND_SZ /v "Icon" /d "%st3Path%,0" /f @reg add "HKEY_CLASSES_ROOT\Folder\shell\Open with Sublime Text 3\command" /t REG_SZ /v "" /d "%st3Path% \"%%1\"" /f pause rem add it for right click on explorer @reg add "HKEY_CLASSES_ROOT\Directory\Background\shell\Sublime" /t REG_SZ /v "" /d "Open with Sublime Text 3" /f @reg add "HKEY_CLASSES_ROOT\Directory\Background\shell\Sublime" /t REG_SZ /v "Icon" /d "%st3Path%" /f @reg add "HKEY_CLASSES_ROOT\Directory\Background\shell\Sublime\command" /t REG_SZ /v "" /d "%st3Path% \"%%V\"" /f pause
Нужное (путь к исполняемому файлу) заменить и запустить
Ответ написан более года назад
Комментировать
Нравится Комментировать
Ваш ответ на вопрос
Войдите, чтобы написать ответ
- Windows
- +2 ещё
Нужна ли нам вся эта безопасность?
- 3 подписчика
- 4 часа назад
- 197 просмотров