1

Ensime scala ide-support を vscode に統合しようとしているところです。アトム パッケージhttps://github.com/ensime/ensime-atomから統合パーツの一部をhttps://github.com/ensime/ensime-nodeに取り出しました。

ただし、vscode からこれに依存すると、見つからないという赤い波線が表示されます。 赤

ただし、コードは引き続きビルドされ、正常に実行されます。心配になりました。私はこれを見つけました:

Q: 拡張機能でネイティブ Node.js モジュールを使用できますか?

A: Visual Studio Code 拡張機能パッケージには、その依存関係がすべて含まれています。これは、Windows で拡張機能を開発し、その拡張機能を公開するときにネイティブの Node.js モジュールに依存する場合、Windows でコンパイルされたネイティブの依存関係が拡張機能に含まれることを意味します。OS X または Linux のユーザーは拡張機能を使用できません。

現時点でこれを機能させる唯一の方法は、VS Code の 4 つのプラットフォーム (Windows x86 および x64、Linux、OS X) すべてのバイナリを拡張機能に含め、適切なプラットフォームを動的に読み込むコードを用意することです。

これは何を意味するのでしょうか?fs、net、child_process などを使用できませんか? 私が考えるすべてが必要ですか、それともvscodeは抽象化レイヤーを介してそれらすべてを提供しますか?

4

1 に答える 1

1

基本的なノード モジュール (fs など) は、vscode 自体の依存関係の一部として既に含まれています。

このモジュールを package.json ファイルに依存関係として含めることを覚えていましたか?

これを確認する方法は、コードをクリーンアップして新しいフォルダーに配置し、「npm install」を実行することです。すべてが正常に実行されれば、問題ありません。

このドキュメントを参照してください: https://code.visualstudio.com/Docs/extensionAPI/extension-manifest

最新バージョンの新しい拡張機能オーサリングの更新についても必ずお読みください: https://code.visualstudio.com/Updates

于 2016-03-04T17:11:54.983 に答える