Создайте ссылку на веб-браузер, которая открывает файл в Intellij. Возможный? - PullRequest
3 голосов
/ 09 мая 2019

Например, qbittorent может быть использован для открытия ссылок, содержащих торрент-файлы.

Почтовые клиенты mailto:

Возможно ли создать ссылки в браузере, который откроет данный файл в Intellij?(Не полный путь, но возможно весь пакет).

Идея в том, что это будет создано для bitbucket.

1 Ответ

3 голосов
/ 09 мая 2019

Существует запрос открытой функции для добавления idea:// обработчика протокола.

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

Существует также встроенный веб-сервер, обеспечивающий REST API для открытия файлов .

Он будет работать с относительными путями, только если IDE уже запущена и проект открыт: http://localhost:63342/api/file/relative/to/module/root/path/to/file.kt.

С установленным приложением JetBrains Toolbox можно будет использовать jetbrains:// протокол для навигации, он , текущая работа и должен быть доступен в 2019.2 .

См. JBProtocolNavigateCommand.kt для справки:

// handles URLs of the following types:

// jetbrains://idea/navigate/reference?project=IDEA
// [&reference[X]=com.intellij.navigation.JBProtocolNavigateCommand[.perform][#perform]]+
// [&path[X]=com/intellij/openapi/project/impl/JBProtocolNavigateCommand.kt[:23[:1]]]+
// [&selection[X]=25:5-26:6]+

Пример URL:

jetbrains://idea/navigate/reference?project=IDEA&fqn=com.intellij.openapi.application.JetBrainsProtocolHandler#getParameters

URL панели инструментов соответствует регулярному выражению:

"${JetBrainsProtocolHandler.PROTOCOL}([\\w\\-]+)/navigate/reference\\?project=(?<project>[\\w]+)(&fqn[\\d]*=(?<fqn>[\\w.\\-#]+))*(&path[\\d]*=(?<path>[\\w-_/\\\\.]+)(:(?<location1>[\\d]+))?(:(?<location2>[\\d]+))?)*(&selection[\\d]*=(?<line1>[\\d]+):(?<column1>[\\d]+)-(?<line2>[\\d]+):(?<column2>[\\d]+))*"

Будет также пользовательский интерфейс для копирования URL-адресов протокола TBX непосредственно из редактора, аналогично действию Копировать ссылку в контекстном меню. То же самое будет работать для навигации по настройкам IDE.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...