3

С помощью «Native Messaging» должно быть возможно установить связь между расширением chrome и родным приложением. https://developer.chrome.com/extensions/nativeMessagingИспользуйте «Встроенные сообщения Chrome» из плагина Sublime Text

Google даже дает пример того, как сделать это с помощью питона «хозяина» -app: https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/docs/examples/api/nativeMessaging/host/native-messaging-example-host

Я хотел бы использовать эту технику, чтобы общаться между Блистательной Text плагин (Python) и расширения Chrome.

  • У кого-нибудь есть опыт работы с этим или, возможно, знаете какой-то открытый плагин ST с открытым исходным кодом, на который я могу смотреть?
  • Что вы пишете в name и path файла манифеста? Имя и путь для возвышенного текстового приложения?
  • Могу ли я использовать stdin и stdout для связи с хром из возвышенного текстового плагина или есть ли ограничения на это при написании плагина?

Извините, если это кажется глупым вопросом, я обычно делаю паутину, а не родную разработку.

ответ

3

Native сообщений не может подключиться к произвольному процессу, потому что:

  1. Процесс должен быть разговор по stdin с использованием указанного протокола, или Chrome будет разорвать соединение прочь. Я сомневаюсь, что Sublime-плагины могут изменить поведение Sublime в этом случае.
  2. Chrome всегда будет запускать новый экземпляр указанного хоста; он не может подключиться к существующему.

Таким образом, ваш гипотетический собственный хост должен быть отдельным процессом, который может быть перезапущен независимо от возвышенного и как-то говорить с Возвышенным.

Здесь действительно не нужен настоящий протокол обмена сообщениями. Альтернативным маршрутом является использование WebSockets: плагин Sublime может выступать в роли сервера WebSocket на локальном хосте, а расширение может подключаться к нему. См. GhostText в качестве примера такой архитектуры.

Смежные вопросы