我首先会问2个问题所以如果有人知道它不必阅读这篇长篇文章:
当我观看Mads Kristensen的视频Visual Studio: C# class Intellisense in JavaScript/TypeScript时
我注意到Mads的Intellisense用于他的“数据”JavaScript变量显示了与当前上下文相关的一个很好的,简短的对象,函数和属性列表。
我使用VS 2013 MVC项目的默认值 Mine显示了更长的列表,使Intellisense几乎无用:
在我的_references.js中我有这个(我觉得Mats也有)
/// <autosync enabled="true" />
/// <reference path="modernizr-2.6.2.js" />
/// <reference path="jquery-1.10.2.js" />
/// <reference path="bootstrap.js" />
/// <reference path="respond.js" />
/// <reference path="jquery.validate.js" />
/// <reference path="jquery.validate.unobtrusive.js" />
/// <reference path="rads.js" />
/// <reference path="../models/accountviewmodels.cs.js" />
在我的隐式(Web)参考组的JavaScript智能感知参考部分中 我有默认值:
libhelp.js
sitetypesWeb.js
domWeb.js
underscorefilter.js
showPlainComments.js
~/Script/_references.js
所有文件(_references.js除外)都位于此文件夹中(对它们没有任何重要意义):
C:\Program Files (x86)\Microsoft Visual Studio 12.0\JavaScript\References\
从第二张图片中我可以看到,我从这些文件中获取了一些IntelliSense方法:
Dhtml.js
EcmaScript.js
ecma.js
但这些属性和方法来自何处:
$1, $2, ..., $10
ABORT_ERR, ALIASED_LINE_WIDTH_RANGE, ....
在互联网上搜索时,我发现了Google封闭编译器的文件:webgl.js,其中包含许多这些大写的属性。
我知道JavaScript IntelliSense article讨论了JavaScripts IntelliSense如何根据您当前的上下文列出可用的对象,函数,属性和参数,以及Extending JavaScript IntelliSense article关于进一步扩展IntelliSense的讨论。
答案 0 :(得分:4)
我想这与ReSharper扩展及其智能感知设置有关,它们会覆盖Visual Studio的IntelliSense设置。
例如, dhtml.js
是一个内部ReSharper文件,其中声明了所有标准浏览器对象和属性。至少从此文件中选取IntelliSense下拉对话框中的前X个属性/方法。
答案 1 :(得分:0)
您是否有机会安装ReSharper?如果是这样,请尝试以下步骤
在ReSharper选项对话框中禁用javascript intellisense。
明确启用Visual Studio的javascript intellisense。 (默认情况下,ReSharper会禁用此选项。)
重新启动Visual Studio。
您现在应该拥有简洁而紧凑的intellisense提示列表。
要提高智能感知体验,请打开解决方案资源管理器并将新的js文件'_reference.js'添加到scripts文件夹中。打开此文件(使用VS),右键单击任意位置并启用自动同步选项。