2012-04-16 17 views
8

JavaScriptのコンテキストで非同期モジュール定義(AMD)を調べた後、Visual Studio 2010で依存モジュール用にintellisenseを取得する方法を知りました。例えばJavascript AMDモジュール:モジュール間でVisual Studio Intellisenseを取得する方法

モジュールA所与:

define(function() { 
    return { 
     square: function(value) { 
      return value * value; 
     } 
    }; 
}); 

及び対応するモジュールB:

define(["A"], function(a) { 
    return { 
     value: a.square(10) 
    } 
}); 

そしてIは、モジュール内(パラメータAとして表される)、モジュールAの完全なインテリセンスを持っていると思いをB.これらのモジュールの両方が別々のファイル(この場合はA.jsとB.js)で定義されることに注意してください。

+0

私はVisual Studioのバグをhttps://connect.microsoft.com/VisualStudio/feedback/details/2825862に掲載しています(投稿したときにログインがわかりませんでした)。同様の条件で問題が解決された場合は、問題をコメントしてください。 – beruic

答えて

2

RequireJSの著者はここでインテリセンスのサポートに取り組んでいるように見えます: https://github.com/jrburke/requirejs-intellisense

残念ながら私はまだ仕事に「魔法」をもらっていません。

更新:これは特定のシナリオでは機能するようになりました。特に、すべてのjsファイルが同じフォルダにあるときにうまく動作します。

+0

あなたはそれを稼働させるために何をしましたか? – Charles

+0

すべてのjavascriptファイルを同じフォルダに配置し、参照されたrequire.js(参照コメントを得るためにファイルをエディタにドラッグ)しました。私は通常、作業を開始するには数秒かかることがわかりました。私はそれを他のいくつかのフォルダ構造のために動作させましたが、かなり制限されているようでした。また、私はそれが必要な呼び出し(定義していない)のためにのみ動作すると思います。 – dcstraw

+0

defineとrequire関数を取得します(つまり、デフォルトのモジュール定義内でintellisenseで 'require'が表示されます)。しかし、私はテストや人に対して知覚を得ることができません。つまり、「テスト」です。 numberPropertyとchildObjectは表示されません。これは私が「完全な」インテリセンスを意味するものです。 – Charles

5

ここでこのコメントは、私はそれが部分的に仕事を得る助け:

/// <reference path="require.js" /> 

_references.jsファイルの先頭にある:Comment on GitHub Repo

基本的に、私はこれがあることを確認する必要がありました。これは 'require'と 'define'ブロックで動作しますが、 'define'ブロック内の無名関数の内部では動作しません。

関連する問題