2013-11-02 77 views
9

VS2012的一個很好的功能是當我編輯HTML(或.cshtml)文件時,它提供了很好的智能感知。爲什麼我不從CSS文件中獲取CSS class intellisense?

當我開始鍵入:

<a href=" 

編輯器會打開一個帶有提示「選擇URL ...」和基於文件的當前目錄下的可能的選項列表。

Pick URL example

^的Visual Studio 2012

此外,在VS2012編輯器將檢測到任何引用CSS文件(S),就像這樣:

<link rel="stylesheet" type="text/css" href="bootstrap.css" /> 

,並會提供自動完成該文件中的所有CSS類。

所以,如果我輸入:

<div class=" 

我會自動將所有Bootstrap3類提示。就像這樣:

CSS class intellisense

^的Visual Studio 2012

但是在VS2013這兩個功能似乎丟失。

現在,當我尋找的CSS類我只得到我已經使用裏面的文件類:

VS2013 CSS completion

^的Visual Studio 2013

按照文章HTML Editing Features in Visual Studio 2013 PreviewHTML Editing Features in Visual Studio 2013 RC,這些問題似乎被觸及,但更多的是針對VS2013的Release Candidate或Beta版本。我正在使用VS2013 Ultimate 12.0.21005.1 REL以及我所知道的所有最新更新。

爲什麼VS2013在編寫href=時未檢測到類文件自動完成的CSS文件並且不提示我輸入URL?

+0

VS2013 Express for Web具有相同的CSS類名稱問題。 – pcunite

+1

爲了防止這種情況對別人有幫助,我遇到了這個問題,因爲我忘了安裝Web Essentials 2013.一旦安裝Web Essentials,問題就解決了。 – Nick

+2

即使使用Visual Studio 2013.1和Web Essentials 2013 1.8,我仍然無法獲取鏈接樣式表的CSS類自動完成功能。 –

回答

6

這是在Visual Studio 2012和Visual Studio 2013之間的變化

此前,只需打開一個文件中的Visual Studio 2012(不是一個解決方案,只是一個HTML文件),並在HTML文件中使用

<link rel="stylesheet" href="bootstrap.css" /> 

意味着Visual Studio中會讀取CSS文件中,並給CSS類智力感知。微軟放棄了這種做法,因爲:

失敗的情況下工作,其中文件被動態包含,或者ASP.NET捆綁和縮小被利用

[Source]

在Visual Studio 2013年,包含在您的項目/解決方案中的CSS文件現在將被自動解析,並且所有HTML文檔都將獲得CSS類智能感知。

+0

這是我在閱讀後得出的結論。希望微軟能夠確認/否認。 –

+7

這不是我的經驗。我和OP有同樣的問題,並且我的項目中包含了我的css文件。我仍然沒有獲得CSS類智能感知。 – s15199d

+0

我只是想在VS 2013的情況下添加一些東西,**不要忘記在將css文件添加到項目後重建項目** –

2

我有同樣的問題。

我有一個母版頁中包含的鏈接引導 -

<link href="../css/bootstrap.css" rel="stylesheet" /> 

這是工作之前,這就是爲什麼這是令人費解,而且該網站成功地採用引導CSS - 它只是智能感知功能那不起作用。

我打開使用Master頁面的頁面,然後點擊VIEW,然後點擊MANAGED STYLES。它在旁邊顯示bootstrap.css並帶有警告標誌。當我將鼠標懸停在它上面時,說它找不到../css/bootstrap.css。

因此,要解決這個問題,我改變了母版頁的鏈接,使用波浪線,而不是時期:

<link href="~/css/bootstrap.css" rel="stylesheet" /> 

現在所有的引導CSS項目出現在管理風格,以及我的智能感知工作。

+0

這並不能解決我的問題。你確實在VS2013中獲得CSS智能感知? –

+0

是的,我的 - 我的智能感應適用於我的母版頁CSS中定義的所有類。我也做過的是用命令行重置Visual Studio用戶設置,我在類似的帖子中找到了這些設置 - 但這對我並不適用。 –

2

正如羅恩·弗里曼說:

在Visual Studio 2013,包含在你的項目的CSS文件/解決方案現在會自動進行解析和所有的HTML文檔將獲得的CSS類智能感知。

但是:

ASPX,並使用傳統的編輯器不會在VS 2013年這一實現中受益的其他Web窗體文件,但可以採取在未來版本的新系統。

但你仍然可以使用此功能如下:

  1. 右鍵單擊在Solution Explorer
  2. 的 「Default.aspx的」 文件 「打開方式」
  3. 選擇「 HTML Editor「
  4. 」ok「
4

A過了幾個星期,智能感應工作得很好,我剛剛遇到了和OP一樣的問題。使用NuGet卸載和重新安裝軟件包無法解決它。

刪除,並從項目OBJ目錄,並從解決方案目錄中名爲.suo 文件解決它。

+0

最後!一個嘗試了很多固體,但這個幫助我:)謝謝! – daniell89

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"/

它確實有竅門,但我希望他們會修復下一次更新。

+0

這也適用於我 – dotNET

+0

在VS2012這並沒有解決我的問題:( – ppumkin

0

以上針對VS2012標識的解決方案將稍有變化。您必須在樣式表的css參考中包含這樣的文件夾。一旦你添加這個並保存頁面,intellisense將會工作。這不是解決捆綁問題的正確解決方案。

13

除非樣式嵌入頁面本身,否則HTML編輯器不會爲我顯示css intellisense。對我來說有效的是使用Html Form Editor打開html文件。右鍵單擊文件並選擇打開方式,然後選擇Html Form Editor。這適用於Visual Studio 2013社區版。

+0

偉大的。更正了我的問題。再次感謝所以! –

+0

也適用於VS Express 2013的Web –

+0

我在visual studio遇到同樣的問題社區2015年,這解決了與CSS的intellisense問題。除了沒有正確引用一個CSS文件,這應該是接受的答案。偉大的工作! – revobtz