我正在尝试使用NppScripting为NotePad ++编写一个插件 - 一个使用javascript(特别是JScript)编写插件的平台。
我想知道是否有一种方式(可能是通过ActiveXObject)我可以异步地监听端口(具体来说 - 我正在尝试将CSS-X-Fire端口写入NPP)。
我知道.NET通过System.Net.Sockets具有该功能,但我无法找到通过JScript访问它的方法。
任何帮助?
答案 0 :(得分:0)
如果我这样做,我会将.NET中的Socket服务器编写为独立的EXE。 如果我正确理解CSS-X-Fire,它是IntelliJ Idea的一个插件,它监听来自Firebug的传出通信,然后适当地更新源文件。听起来相对简单。 .NET套接字服务器可以非常轻松地完成此任务。
然后,不是直接从套接字服务器向脚本环境公开第二个接口 - 比如COM对象或COPYDATA通道或类似的东西 - 我会使用文件系统进行通信。换句话说,在NPP中编写一些脚本来轮询文件系统文件以获取更新。当.NET Socket服务器收到一条消息“Firebug刚更新文件X.css”时,.NET Socket服务器可以将这些更新应用于文件系统文件,并将更改保存回文件系统。因为Notepad ++应用程序轮询文件系统,它将看到更新的文件并重新加载它,然后获取这些已保存的更改。您需要智能地在N ++中进行游标管理。
Emacs有这种东西的“自动恢复模式”,因此.NET CSS-X-Fire Socket服务器可与开箱即用的emacs一起使用 - 无需额外的脚本。不确定N ++是否具有自动恢复等价物。
答案 1 :(得分:-1)
我最终决定使用Adobe AIR来创建我的解决方案。它提供了一组令人惊叹的API,包括一组Socket API。
您可以查看我的解决方案here