1

我有一個Visual Studio 2010 ASP.NET MVC 4項目。在視圖中,我導入OpenLayers.js文件:代碼完成無法識別來自OpenLayers js文件的成員

<script type="text/javascript" src="path/to/OpenLayers.js"></script> 
下面

,我有一個內嵌腳本:

<script type="text/javascript"> 
    function init() 
    { 
     var map = new OpenLayers.Map("basicMap"); 
     var osmLayer = new OpenLayers.Layer.OSM(/* constructor params */); 
    } 
</script> 

我怎樣才能Visual Studio中/ ReSharper的智能感知表明屬性和方法的名稱,如這樣的:

osmLayer.w // should suggest osmLayer.wrapDataLine 
osmLayer.att // should suggest osmLayer.attribution 

奇怪的是,它表明的jQuery定義的成員:constructorprototypelength所有出現在完成下拉列表中。

回答

2

不幸的是,ReSharper的javascript intellisense並不完美,目前不支持非標準的JS類框架,比如OpenLayers使用的框架。我們計劃在未來的版本中解決這個問題。同時,如果您必須使用這樣的庫,您可以通過按Ctrl-Space來使用非智能智能感知,也可以嘗試使用Visual Studio內置智能感知(轉至ReSharper | Options - > Environment | Intellisense | General,選擇「限制ReSharper Intellisense」並關閉JavaScript)。

+0

感謝您的回答。我嘗試過,但Visual Studio IntelliSense不提供比ReSharper更多的自動完成選項...我做錯了什麼? – Adam 2012-07-12 09:22:16

+0

好吧,也許Visual Studio需要正確的引用指令,請參閱http://msdn.microsoft.com/en-us/library/bb385682(v=vs.110).aspx#ReferenceDirectives。但也可能是VS也不支持你的情況。實現像JS這樣的動態語言的智能感知是困難的。無論如何,使用ReSharper你總是可以手動按下Ctrl-Space並獲得所有可能的JS屬性。 – 2012-07-12 09:30:01

相關問題