使用 Sublime Text 插件中的 'Chrome Native Messaging'

Use 'Chrome Native Messaging' from Sublime Text plugin

使用 'Native Messaging' 应该可以在 chrome 扩展程序和本机应用程序之间进行通信。 https://developer.chrome.com/extensions/nativeMessaging

Google 甚至提供了如何使用 python "host"-app 执行此操作的示例:https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/docs/examples/api/nativeMessaging/host/native-messaging-example-host

我想使用这种技术在 Sublime Text 插件 (python) 和 Chrome 扩展之间进行通信。

对不起,如果这看起来像一个愚蠢的问题,我通常做网络开发,而不是本地开发。

本机消息无法连接到任意进程,因为:

  1. 该进程必须使用指定的协议 stdin 进行通信,否则 Chrome 将断开连接。我怀疑 Sublime 插件在这种情况下能否改变 Sublime 的行为。
  2. Chrome 将始终 运行 指定主机的新实例;它无法连接到现有的。

所以你假设的本地主机必须是一个单独的进程,可以独立于 Sublime 重新启动并以某种方式与 Sublime 通信。

您在这里实际上不需要本地消息传递协议。另一种方法是使用 WebSockets:一个 Sublime 插件可以充当本地主机上的一个 WebSocket 服务器,一个扩展可以连接到它。请参阅 GhostText 作为此类架构的示例。