danila763
@danila763
Учу python, sql

Как заменить блокнот на Sublime Text?

Я хочу заменить все вызовы блокнот, на вызовы Sublime Text
Вообще, это делается так:
1) Создаем параметр Debugger в реестре по пути
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\Notepad.exe
2) Задаем ему значение "C:\Program Files\Sublime Text\sublime_text.exe"

Но проблема в том, что если попытаться изменить файл в пути к которому содержатся пробелы, то этот путь разобьется по пробелам и передастся как несколько аргументов, например
C:\My Files\file.txt
откроется как два файла,
My
и
Files\file.txt

Как сделать так, чтобы это был один файл?
  • Вопрос задан
  • 410 просмотров
Решения вопроса 1
Amunrah
@Amunrah
Сказочный персонаж ))
Можно вот так.
Это не затронет дефолтное поведение пункта "Изменить", но добавит новый пункт меню - "Изменить в Sublime", а при нажатом SHIFT также появится пункт "Изменить в Sublime от Админа". В том числе у каталогов.
@echo off
chcp 65001

SET admin_st4_path=powershell Start-Process 'Path\To\sublime_text.exe' -Verb runAs
SET st4_path=Path\To\Sublime\sublime_text.exe
SET st4_label_edit=Изменить в Sublime
SET st4_label_admin_edit=Изменить в Sublime от Админа
SET st4_label_admin_open=Открыть в Sublime от Админа
SET st4_label=Открыть в Sublime

rem добавить для всех типов файлов
@reg add "HKEY_CLASSES_ROOT\*\shell\Edit with Sublime Text"         /t REG_SZ /v "" /d "%st4_label_edit%" /f
@reg add "HKEY_CLASSES_ROOT\*\shell\Edit with Sublime Text"         /t REG_EXPAND_SZ /v "Icon" /d "%st4_path%,0" /f
@reg add "HKEY_CLASSES_ROOT\*\shell\Edit with Sublime Text\command" /t REG_SZ /v "" /d "%st4_path% \"%%1\"" /f
@reg add "HKEY_CLASSES_ROOT\*\shell\Edit with Sublime Text as Admin"         /t REG_SZ /v "" /d "%st4_label_admin_edit%" /f
@reg add "HKEY_CLASSES_ROOT\*\shell\Edit with Sublime Text as Admin"         /t REG_EXPAND_SZ /v "Icon" /d "%st4_path%,0" /f
@reg add "HKEY_CLASSES_ROOT\*\shell\Edit with Sublime Text as Admin"         /t REG_SZ /v "Extended" /d ""
@reg add "HKEY_CLASSES_ROOT\*\shell\Edit with Sublime Text as Admin\command" /t REG_SZ /v "" /d "%admin_st4_path% \"%%1\"" /f

rem добавить для папок
@reg add "HKEY_CLASSES_ROOT\Directory\Background\shell\Open with Sublime Text"         /t REG_SZ /v "" /d "%st4_label%" /f
@reg add "HKEY_CLASSES_ROOT\Directory\Background\shell\Open with Sublime Text"         /t REG_EXPAND_SZ /v "Icon" /d "%st4_path%,0" /f
@reg add "HKEY_CLASSES_ROOT\Directory\Background\shell\Open with Sublime Text\command" /t REG_SZ /v "" /d "%st4_path% \"%%V\"" /f
@reg add "HKEY_CLASSES_ROOT\Directory\shell\Open with Sublime Text"         /t REG_SZ /v "" /d "%st4_label%" /f
@reg add "HKEY_CLASSES_ROOT\Directory\shell\Open with Sublime Text"         /t REG_EXPAND_SZ /v "Icon" /d "%st4_path%,0" /f
@reg add "HKEY_CLASSES_ROOT\Directory\shell\Open with Sublime Text\command" /t REG_SZ /v "" /d "%st4_path% \"%%V\"" /f

rem добавить для папок от админа
@reg add "HKEY_CLASSES_ROOT\Directory\Background\shell\Open Sublime Text as Admin"         /t REG_SZ /v "" /d "%st4_label_admin_open%" /f
@reg add "HKEY_CLASSES_ROOT\Directory\Background\shell\Open Sublime Text as Admin"         /t REG_EXPAND_SZ /v "Icon" /d "%st4_path%,0" /f
@reg add "HKEY_CLASSES_ROOT\Directory\Background\shell\Open Sublime Text as Admin"         /t REG_SZ /v "Extended" /d "" /f
@reg add "HKEY_CLASSES_ROOT\Directory\Background\shell\Open Sublime Text as Admin\command" /t REG_SZ /v "" /d "%admin_st4_path% \"%%V\"" /f
@reg add "HKEY_CLASSES_ROOT\Directory\shell\Open Sublime Text as Admin"         /t REG_SZ /v "" /d "%st4_label_admin_open%" /f
@reg add "HKEY_CLASSES_ROOT\Directory\shell\Open Sublime Text as Admin"         /t REG_EXPAND_SZ /v "Icon" /d "%st4_path%,0" /f
@reg add "HKEY_CLASSES_ROOT\Directory\shell\Open Sublime Text as Admin"         /t REG_SZ /v "Extended" /d "" /f
@reg add "HKEY_CLASSES_ROOT\Directory\shell\Open Sublime Text as Admin\command" /t REG_SZ /v "" /d "%admin_st4_path% \"%%V\"" /f

pause

Однако это вопрос не по Sablime text, а скорее по реестру Windows...
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
danila763
@danila763 Автор вопроса
Учу python, sql
Укажу еще одно, как по мне не самое лучшее, но вполне рабочее решение

Программа NotepadReplacer, она прописывается в регистр и сама открывает указанный редактор
https://www.binaryfortress.com/NotepadReplacer/
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы