2013-12-13 11 views
13

私はのVisual Studioで外部ライブラリのためのJavaScriptのインテリセンスを有効にする

/// <autosync enabled="true" /> 
/// <reference path="angular.js" /> 
/// <reference path="angular-route.js" /> 

~/Scripts/_references.jsを更新し、私のapp.jsに私は

angular.js intellisense working

少し行く素晴らしいですいくつかのインテリセンスの作業を、見ることができますさらにそれは働かない。

angular.js intellisense not working

この問題が発生したか、それを動作させるための方法、なぜ上の任意のアイデア?

答えて

8

dependency injectionを使用しているため、Visual Studioでは引数の種類がわかりません。

これはJavascript intellisenseの一般的な問題です.Javascriptでは明示的な注釈の使用が許可されていないため、回避する明確な方法はないようです。

しかし、これは簡単に(VS2013の拡張子を持つ)Typescriptを使用して達成し、あなたのコードは次のようになりangular typesすることができます:私はちょうどこれを行うためのライブラリーを構築し

angular.module('example', ['ngRoute']) 
    .config([ '$locationProvider', 
    function ($locationProvider : ng.ILocationProvider) { 

      $locationProvider. // Intellisense would work here. 
    } 
    ]); 
+0

DI係数が意味をなす。 WebStormはそれを把握して管理しており、VSも可能であると考えていました。 DefinitelyTypedのものを自分のコードに追加したいと思っているのかどうかは分かりませんが、私はそれにショットをつけて、どのように動作するのか見ていきます。ありがとう – kenwarner

+0

@ qntmfredこれらは単に型定義であり、_really_あなたのコードに何も追加しないことに注意してください。型の注釈は最終的にコンパイルされたコードに残っていません。 –

7
+0

これはすごく、ありがとうございます。私はあなたがこれを達成した方法を理解しようとしましたが、私は本当に理解できないことがたくさんあります。あなたはそのような拡張をお願いするための助言をすることができるチュートリアルを持っていますか? –

+0

私は大好きですが、私は恐れている時間がありません。ソースを調べたり、ログを追加したり、それがどのように機能するかを見たりしてください。うまくいけば、私が中断した箇所を拾い上げて改善を続けることができます。 –

+0

私は十分に理解しています。ありがとうございました –

関連する問題