Как установить subl://обработчик протокола с Единицей?

Мое веб-приложение генерирует активируемые по щелчку URL как следующее, когда ошибка происходит:

subl://open?url=file://%2Fusr%2Flocal%2Fwebenginex%2Fclass%2Fmodels%2Fwxclient.php&line=123

Когда я нажимаю его, я получаю эту подсказку:

Нажатие на "Launch Application" ничего не делает. Я хочу, чтобы это открыло Sublime Text, как предназначено. Как я могу настроить это?

5
задан 29 May 2017 в 10:38

2 ответа

Зарегистрировать обработчик пользовательских протоколов в хроме

1. Создайте файл на рабочем столе

, Создают файл /usr/share/applications/sublime-handler.desktop

[Desktop Entry]
Name=Sublime Text 2 URL Handler
GenericName=Text Editor
Comment=Handle URL Scheme subl://
Exec=/usr/share/handlers/sublime-handler %u
Terminal=false
Type=Application
MimeType=x-scheme-handler/subl;
Icon=sublime-text-2
Categories=TextEditor;Development;Utility;
Name[en_US]=Sublime Text 2 URL Handler

2. Обновите базу данных типов MIME

$ sudo update-desktop-database

3. Создайте файл

обработчика, Создают файл /usr/share/handlers/sublime-handler

#!/usr/bin/env bash

request="${1#*://}"             # Remove schema from url (subl://)
request="${request#*?url=}"     # Remove open?url=
request="${request//%2F//}"     # Replace %2F with /
request="${request/&line=/:}"   # Replace &line= with :
request="${request/&column=/:}" # Replace &column= with :

subl "$request"                 # Launch sublime

, Делают это исполняемым файлом:

$ sudo chmod +x /usr/share/handlers/sublime-handler

4. Обработчик типов пантомимы регистра

$ xdg-mime default /usr/share/applications/sublime-handler.desktop x-scheme-handler/subl

5. Прибыль

Теперь можно открыть ссылки с пользовательскими протоколами от хрома с помощью пользовательских приложений, примера:

subl:///home/path/to/file.php:123
subl://open?url=/home/path/to/file.php:123
subl://open?url=/home/path/to/file.php&line=123
subl://open?url=/home/path/to/file.php&column=123
subl://open?url=%2Fhome%2Fpath%2Fto%2Ffile.php&line=123
subl://open?url=%2Fhome%2Fpath%2Fto%2Ffile.php&column=123

6. Измените

, Это может быть портировано для использования с другим IDE, например phpstorm

4
ответ дан 23 November 2019 в 09:24

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

Создают Сублимированный файл Синтаксического анализатора URL '/usr/local/bin/subl-url-parser':

sudo tee /usr/local/bin/subl-url-parser > /dev/null <<"EOF"
#!/usr/bin/env bash

request=${1:23}               # Delete the first 23 characters "subl://open?url=file://"
request=${request//%2F//}     # Replace %2F with /
request=${request/&line=/:}   # Replace &line= with :
request=${request/&column=/:} # Replace &column= with :
sublime $request              # Launch Sublime
EOF

Делают его исполняемым файлом и символьной ссылкой это к "subl-url-handler":

sudo chmod +x /usr/local/bin/subl-url-parser
sudo ln -s subl-url-parser /usr/local/bin/subl-url-handler

Создают (или обновление) файл на рабочем столе '/usr/share/applications/sublime-handler.desktop' для использования нового синтаксического анализатора URL через 'subl-url-handler':

sudo tee /usr/share/applications/sublime-handler.desktop > /dev/null <<EOF
[Desktop Entry]
Name=Sublime Text URL Handler
GenericName=Text Editor
Comment=Handle URL Scheme subl://
Exec=subl-url-handler %u
Terminal=false
Type=Application
MimeType=x-scheme-handler/subl;
Icon=sublime-text
Categories=TextEditor;Development;Utility;
Name[en_US]=Sublime Text URL Handler
EOF

Обновление databse:

sudo update-desktop-database
<час>

NB: Это предполагает, что Вы имеете sublime в Вашем $PATH и не всего subl, как я делаю. В противном случае можно сделать один как это:

sudo ln -s `which subl` $(dirname `which subl`)/sublime
1
ответ дан 23 November 2019 в 09:24

Другие вопросы по тегам:

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