問題タブ [javascript-intellisense]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - Visual Studio Intellisense で JavaScript 構成オブジェクトを文書化する方法
私はしばらくの間、Visual Studio の JavaScript Intellisense 機能を使用しており、標準 API の提案がどれだけ適切に提供されているかにはほとんど満足していますが、Visual Studio に構成オブジェクト (つまり、複数のオプションを持つ単一のオブジェクト) を理解させることができないことがわかりました。または関数への引数として必要なプロパティ)。
公式のJSDoc 構文では、パラメーターにプロパティが必要な場合は、@param
それぞれに別の行を作成し、ドット表記を使用することをお勧めします。
ただし、Visual Studio はこれを認識しませんconfig
。 、config.name
、およびconfig.gold
を 3 つの個別の最上位パラメーターとしてレンダリングします。
さらに悪いことに、メソッド本体内の AutoComplete 機能もパラメーターを認識せず、ましてやその型を認識しません。
Visual Studio でさらに近いと思われる唯一の解決策は、適切なドキュメント (@constructor
および@property
タグ) を使用して呼び出されないコンストラクター関数を記述することです。これにより、多くのデッド コードを記述し、JavaScript のクラスフリーの考え方 (そもそも構成オブジェクトを使用する理由)。構成オブジェクトを書くことすらできません!
それだけでなく、Visual Studio がそれを必要としないことも知っています。たとえば、このライブラリ関数id
の呼び出しを書き出すと、引数オブジェクトに 、source
、およびというプロパティが必要であることがわかりtarget
、関数の引数のオブジェクト リテラルを作成したときにそれらの名前が提案されました。ドキュメントの。おそらく、それらが使用されたという単純な事実から来ました:
確かに、これらのプロパティがオブジェクトになく、正しい型でない場合、メソッドは例外をスローしますが、それでも例外はありません。
編集:そして、最近、オブジェクトリテラルパラメーターを使用して、独自のコードで効果をある程度複製することができました-明確に定義されたオブジェクトを使用して1つの関数を呼び出し、コードの他の場所で関数を再度呼び出すと、Intellisense の提案が表示されました。しかし、関数本体内の型情報やセマンティック アクセスはまだありません。
Visual Studio は明らかに構成オブジェクトの概念を理解しており、提案されたプロパティを提供するためにいくつかのロジックを実行しています。そのアルゴリズムは何ですか?また、コードを壊さずに悪用するにはどうすればよいでしょうか?
javascript - VS Intellisense の JSDoc typedef での配列の文書化
私の VS2015 JavaScript アプリには、JSDoc@typedef
コメントを使用して文書化した REST API から取得した JSON オブジェクトがあります。
これらの JSON オブジェクトを使用するメソッドの JSDoc コメントでこの型を参照すると、Intellisense ドキュメントを問題なく取得できます。
ただし、これを配列で機能させることはできません-配列にインデックスを付けようとすると、VSがIntellisenseコンテキストを取得できないときに発生する「黄色の三角形」メニューが表示されます。
JSDoc の他の推奨方法である を使用する{Array.<JSON_Response>}
と、VS にresponse
配列であることを通知しますが、その下にあるものには Intellisense を提供しません。Microsoft 独自の XML コメントはこの機能を提供しますが、関数パラメーターに対してのみです。関数が呼び出されるたびにこのドキュメントを追加する必要があるため、オブジェクト内に到達することはできません。
JavaScript の VS Intellisense で、基になる型を使用して配列を文書化する方法はありますか?
コードを書かなければならない場合、副作用を最小限に抑えたい/リリースから除外できるようにしたい.
visual-studio-2015 - Visual Studio 2015 Angular Intellisense (Angular マテリアル デザイン)
NuGet パッケージ コンソールを使用して、Angular Material Design 用の VS 2015 の Intellisense を取得しようとしています。
次のエラーが表示されます。
助言がありますか?
node.js - node.js を使用して Visual Studio コードで IntelliSense を機能させるにはどうすればよいですか?
node.js プロジェクトに VS Code を使用していますが、モジュールにインテリセンスがありません。定義に移動するか、すべての参照を検索しても機能しません。Node.jsプロジェクトのVSコードでインテリセンスとGo to definitionなどのすべての機能を動作させるにはどうすればよいですか?
javascript - 割り当てられた変数の型を Intellisense に認識させる
4 つのサブ配列の配列を返す非同期関数があります。次に、その配列を変数に分割します。これらの新しい変数をインテリセンスに認識させようとしていますが、実際には機能していません:
ご覧のとおり、標準の XML インテリセンス ドキュメントを使用して変数を文書化しようとしましたがarrayOfA
、arrayOfD
.
ただし、ドキュメントと変数の初期化を保持し、変数に何も割り当てないと、適切なインテリセンスが得られます。
例えば
arrayOfA
そこでインテリセンスを取得しますが、明らかにこの時点では実際の結果は割り当てられません。
javascript - JavaScript の「IntelliSense は、この式の正確な補完リストを特定できませんでした」というメッセージを修正するにはどうすればよいですか?
Visual Studio を使用して JS コーディングを行いたいのですが、IS を修正して変数の型を正しく取得する方法がわかりません。
必要な参照をすべて追加したにもかかわらず、このメッセージが表示されます。はファイル$gameMessage
で宣言されていrpg_managers.js
ます。
私の推測では、宣言時にnull
変数に割り当てられているという事実によるものです (こちらを参照)。ファイルに干渉せずに修正するにはどうすればよいrpg_managers.js
ですか? 残念ながら、JS にはハードコーディングされた型がないため、C# ほど簡単ではありません。
これを簡単に修正できますか、それとも js 用の他の IDE を使用する必要がありますか? 誰かが他のエディターを使用しているのを見たことがありますが、この問題は発生しませんでした。