在我的一个解决方案中,我有一个类库项目和两个Web应用程序。在Web应用程序的.cshtml页面上,我使用了Razor智能感知,但对Javascript完全没有帮助。如果我输入“$”。并按Ctrl +空格,什么也没有发生。没有弹出窗口。这非常令人沮丧,因为我不是那么熟悉JS!但是,在一个与web应用程序不同的解决方案,我做有JavaScript智能感知。这使我认为它不是Visual Studio已经坏了。这是关于这个特定的解决方案。这使得这个问题在其他类似的StackOverflow问题中是唯一的。在特定的Web应用程序中没有javascript intellisense(VS2015)
我已经尝试了所有可以在StackOverflow上找到的答案。特别是大家最喜欢的,将/Scripts/_reference.js文件添加到Tools |选项|代码编辑器| Javascript |智能感知设置。这没有帮助。我曾试着将jQuery从3.1.1降级到2.x,与解决方案中使用的版本相同。我已经尝试编辑_reference.js文件以减少项目数量。我禁用了Resharper。我卸载并重新加载了该项目。我已经重新启动VS.我没有重置VS的设置,因为这太混乱了,因为它在其他项目中工作,我不想。
我需要的是了解Visual Studio如何确定如何显示智能感知的人,以便为我提供需要适当工作的清单。这里的关键线索是为什么一个解决方案可以正常工作,但另一个解决方案却不行什么样的项目级别设置可能会影响到这一点?
这里是我的/Scripts/_references.js文件:
/// <autosync enabled="false" />
/// <reference path="jquery-3.1.1.js" />
/// <reference path="jquery-3.1.1.intellisense.js" />
/// <reference path="jquery-ui-1.11.4.js" />
/// <reference path="bloodhound.js" />
/// <reference path="bootstrap.js" />
/// <reference path="jquery.countdown.js" />
/// <reference path="jquery.unobtrusive-ajax.js" />
/// <reference path="jquery.validate.js" />
/// <reference path="jquery.validate.unobtrusive.js" />
/// <reference path="jquery-ui-timepicker-addon.js" />
/// <reference path="modernizr-2.8.3.js" />
/// <reference path="respond.js" />
/// <reference path="typeahead.bundle.js" />
/// <reference path="typeahead.jquery.js" />
/// <reference path="typeahead.mvc.model.js" />
您是否尝试添加新的.cshtml页面?这两个Web应用程序项目都有一个新的.cshtml文件的问题?备份此解决方案,然后逐个删除类库项目和Web应用程序,以检查其他项目是否会影响此问题。删除解决方案文件夹下的.suo或.vs文件,.vs文件夹可能被隐藏,重新启动VS并重新打开此解决方案以再次检查此问题。同样,我发现在你的_references.js文件中,'autosync'是'false',默认值是'true',你也可以修改它并清理解决方案,重建它并测试。 –
同时,您可以右键点击.cshtml文件,选择“打开方式...”,它应该是“HTML编辑器(默认)”。尝试打开管理CMD窗口并导航到C:\ Program Files(x86)\ Microsoft Visual Studio 14.0 \ Common7 \ IDE并运行命令:devenv/resetuserdata来清理旧用户数据。或删除或重命名文件夹:C:\ Users \ <您的用户名> \ AppData \ Local \ Microsoft \ VisualStudio \ 14.0和C:\ Users \ <您的用户名> \ AppData \ Roaming \ Microsoft \ VisualStudio \ 14.0进行故障排除这个问题。 –