0

NppScriptingを使用してNotePad++のプラグインを作成しようとしています。これは、JavaScript(具体的にはJScript)を使用してプラグインを作成するためのプラットフォームです。

ポートを非同期でリッスンできる方法(おそらくActiveXObjectを介して)があるかどうか疑問に思いました(具体的には、CSS-X-FireポートをNPPに書き込もうとしています)。

.NETにはSystem.Net.Socketsを介してその機能があることは知っていますが、JScriptを介してそれにアクセスする方法を見つけることができませんでした。

何か助けはありますか?

4

2 に答える 2

0

これを行う場合、ソケット サーバーを .NET でスタンドアロン EXE として記述します。CSS-X-Fire を正しく理解していれば、それは Firebug からの送信通信をリッスンし、ソース ファイルを適切に更新する IntelliJ Idea のプラグインです。比較的単純に聞こえます。.NET ソケット サーバーは、これを非常に簡単に行うことができます。

次に、COM オブジェクトや COPYDATA チャネルなどのように、ソケット サーバーからスクリプト環境に直接 2 番目のインターフェイスを公開するのではなく、ファイル システムを通信に使用します。つまり、更新のためにファイルシステム ファイルをポーリングする何かを NPP でスクリプト化します。.NET ソケット サーバーが「Firebug がファイル X.css を更新しました」というメッセージを受け取ると、.NET ソケット サーバーはそれらの更新をファイル システム ファイルに適用し、変更をファイル システムに保存することができます。Notepad++ アプリはファイルシステムをポーリングするため、更新されたファイルを確認して再読み込みし、保存された変更を取得します。N++ 内でインテリジェントにカーソル管理を行う必要があります。

Emacs にはこの種の「自動復帰モード」があるため、.NET CSS-X-Fire Socket サーバーはそのままで emacs を使用できます。追加のスクリプトは必要ありません。N++ に同等の自動復帰機能があるかどうかは不明です。

于 2011-01-14T02:39:15.857 に答える
-1

最終的に、Adobe AIR を使用してソリューションを作成することにしました。ソケット API のセットを含む、驚くべき API のセットを提供します。

ここで私のソリューションを見ることができます

于 2011-01-29T18:35:01.750 に答える