VS2012 的一个不错的功能是,当我编辑HTML(或.cshtml)文件时,它提供了很好的智能感知。
当我开始输入:
<a href="
编辑器会打开一个提示,其中包含“Pick URL ...”以及基于该文件当前目录的可能选项列表。
^ Visual Studio 2012
此外,在VS2012中,编辑器检测任何引用的CSS文件,如下所示:
<link rel="stylesheet" type="text/css" href="bootstrap.css" />
并且会提供该文件中所有CSS类的自动完成。
所以,如果我输入:
<div class="
我会自动提示所有Bootstrap3类。像这样:
^ Visual Studio 2012
然而,在 VS2013 中,这些功能似乎都缺失了。
现在,当我查找CSS类时,我只获得了我已在文件中使用过的类:
^ Visual Studio 2013
根据微软的文章HTML Editing Features in Visual Studio 2013 Preview和HTML Editing Features in Visual Studio 2013 RC,这些问题似乎已被触及,但更多的是针对VS2013的候选版本或测试版本。我正在使用VS2013 Ultimate 12.0.21005.1 REL以及我所知道的所有最新更新。
为什么VS2013在编写href=
时没有检测到类自动完成的CSS文件并且没有提示我输入URL?
答案 0 :(得分:13)
除非样式嵌入页面本身,否则Html编辑器不会为我显示css intellisense。对我有用的是使用Html表单编辑器打开html文件。右键单击该文件并选择打开方式,然后选择Html表单编辑器。这适用于Visual Studio 2013 Community Edition。
答案 1 :(得分:6)
这是 Visual Studio 2012和Visual Studio 2013之间的变化。
以前,只需在Visual Studio 2012中打开文件(不是解决方案,只是HTML文件)并使用
<link rel="stylesheet" href="bootstrap.css" />
HTML文件中的意味着Visual Studio将读取CSS文件并给出CSS类intellisense。微软放弃了这种方法,因为:
在动态包含文件或使用ASP.NET Bundling和Minification的情况下,它无法正常工作
在Visual Studio 2013中,现在将自动解析项目/解决方案中包含的CSS文件,并且所有HTML文档都将获得CSS类智能感知。
答案 2 :(得分:4)
智能感知工作好几周之后,我遇到了和OP一样的问题。使用NuGet卸载和重新安装软件包无法解决问题。
从项目中删除 bin 和 obj 目录,并从解决方案目录中解析 .suo 文件。
答案 3 :(得分:3)
当我在Visual Studio 2013中创建一个Web应用程序时,这也发生在我身上,VS在头文件中自动创建了这个代码但是intellisense肯定不适用于css类。
<webopt:bundlereference runat="server" path="~/Content/css" />
我所做的只是逐个手动链接我的所有CSS,并且可能在开发后删除它们。
<link href="Content/bootstrap.css" rel="stylesheet" />
<link href="Content/bootstrap.min.css" rel="stylesheet" />
<link href="Content/Site.css" rel="stylesheet" /
确实可以解决问题,但我希望他们能够解决下一次更新问题。
答案 4 :(得分:2)
我遇到了同样的问题。
我有一个母版页面,其中包含指向bootstrap的链接 -
<link href="../css/bootstrap.css" rel="stylesheet" />
以前工作过,这就是为什么这令人费解,而且网站成功使用了bootstrap CSS - 它只是智能感知功能无效。
我打开使用Master页面的页面,然后单击VIEW,然后单击MANAGED STYLES。它显示了bootstrap.css,旁边有一个警示标志。当我将鼠标悬停在它上面时说它找不到../ css / bootstrap.css。
因此,要解决此问题,我更改了母版页中的链接以使用代字号而不是句号:
<link href="~/css/bootstrap.css" rel="stylesheet" />
现在所有的bootstrap CSS项都出现在Manage Styles中,我的intellisense正在工作。
答案 5 :(得分:2)
正如Rowan Freeman所写:
在Visual Studio 2013中,现在将自动解析项目/解决方案中包含的CSS文件,并且所有HTML文档都将获得CSS类智能感知。
可是:
使用旧版编辑器的ASPX和其他WebForm文件无法从VS 2013中的此实现中受益,但可能会在将来的版本中采用新系统。
但您仍然可以按照以下方式使用此功能:
答案 6 :(得分:0)
上面针对VS2012确定的解决方案将略有不同。您必须在样式表的css参考中包含这样的文件夹。添加此页并保存页面后,智能感知将起作用。这不是解决捆绑问题的正确解决方案