web-dev-qa-db-ja.com

CSSファイルからCSSクラスインテリセンスを取得しないのはなぜですか?

VS2012の優れた機能の1つは、HTML(または.cshtml)ファイルを編集しているときに、優れたインテリセンスを提供することでした。

入力を開始すると:

<a href="

エディタは、「URLを選択...」とファイルの現在のディレクトリに基づいて可能なオプションのリストを含むプロンプトを開きます。

Pick URL example

^ Visual Studio 2012

さらに、VS2012では、エディターは次のように参照されているCSSファイルを検出します。

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

そして、そのファイル内のすべてのCSSクラスのオートコンプリートを提供します。

だから私がタイプすると:

<div class="

すべてのBootstrap3クラスが自動的に表示されます。このような:

CSS class intellisense

^ Visual Studio 2012

ただし、VS201では、これらの機能の両方が欠落しているようです。

これで、CSSクラスを探すと、ファイル内ですでに使用したクラスのみが取得されます。

VS2013 CSS completion

^ Visual Studio 2013

Microsoftの記事 Visual Studio 2013プレビューのHTML編集機能 および Visual Studio 2013 RCのHTML編集機能 によると、これらの問題は触れられているようですが、より多くの目的があります。 VS2013のリリース候補またはベータ版。私はVS2013Ultimate 12.0.21005.1 RELを使用しており、私が知っているすべての最新の更新を使用しています。

VS2013がクラスのオートコンプリート用のCSSファイルを検出せず、href=を書き込むときにURLの入力を求められないのはなぜですか?

9
Rowan Freeman

これはVisual Studio2012とVisualStudio 2013の間の変更でした。

以前は、Visual Studio 2012でファイル(ソリューションではなく、HTMLファイルのみ)を開いて、

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

hTMLファイルでは、Visual StudioがCSSファイル内を読み取り、CSSクラスにインテリセンスを与えることを意味していました。マイクロソフトは、次の理由でこのアプローチを放棄しました。

ファイルが動的に含まれている場合、またはASP.NETのバンドルとミニファイが使用されている場合は機能しませんでした

[ソース]

Visual Studio 2013では、プロジェクト/ソリューションに含まれているCSSファイルが自動的に解析され、すべてのHTMLドキュメントがCSSクラスインテリセンスを取得します。 。

6
Rowan Freeman

スタイルがページ自体に埋め込まれていない限り、Htmlエディターはcssインテリセンスを表示しませんでした。私のために働いたのは、Htmlフォームエディタを使用してhtmlファイルを開くことでした。ファイルを右クリックし、[プログラムから開く]を選択して、[Htmlフォームエディター]を選択します。これは、Visual Studio 2013 CommunityEdition用です。

13
codys-hole

インテリセンスが数週間正常に機能した後、OPと同じ問題が発生しました。 NuGetを使用してパッケージをアンインストールおよび再インストールしても、問題は解決しませんでした。

プロジェクトからbinおよびobjディレクトリを削除し、ソリューションディレクトリから。suoファイルを削除すると解決されます。

4
basp

これは、Visual Studio 2013でWebアプリケーションを作成したときにも発生しました。VSはヘッダーにこのコードを自動的に作成しましたが、インテリセンスはcssクラスでは機能しません。

<webopt:bundlereference runat="server" path="~/Content/css" />

私がしたことは、すべてのcssを1つずつ手動でリンクすることであり、開発後にそれらを削除できる可能性があります。

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

それは確かにトリックをしました、しかし私は彼らが次のアップデートで修正することを望んでいました。

3
Crismogram

私も同じ問題を抱えていました。

bootstrap-へのリンクを含むマスターページがあります

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

以前は機能していたため、これは不可解でした。さらに、Webサイトはbootstrap CSSを正常に使用しました。機能しなかったのはインテリセンス機能だけです。

マスターページを使用するページを開き、[表示]、[管理されたスタイル]の順にクリックします。 bootstrap.cssの横に警告記号が表示されました。カーソルを合わせると、../css /bootstrap.cssが見つからないと表示されました。

そこで、問題を解決するために、マスターページのリンクを変更して、ピリオドの代わりにチルダを使用しました。

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

これで、すべてのbootstrap CSSアイテムがスタイルの管理に表示され、私のインテリセンスが機能しています。

2
James K

ローワンフリーマンが書いたように:

Visual Studio 2013では、プロジェクト/ソリューションに含まれているCSSファイルが自動的に解析され、すべてのHTMLドキュメントがCSSクラスのインテリセンスを取得するようになりました。

だが:

従来のエディターを使用するASPXおよびその他のWebFormファイルは、VS 2013でのこの実装のメリットはありませんが、将来のリリースで新しいシステムを採用する可能性があります。

ただし、この機能は次のように使用できます:

  1. ソリューションエクスプローラーで「default.aspx」ファイルを右クリックします
  2. 「で開く」
  3. 「HTMLエディタ」を選択します
  4. "OK"
2
roland

VS2012について上記で特定されたソリューションは、わずかな違いで機能します。このようなフォルダをスタイルシートのcssリファレンスに含める必要があります。これを追加してページを保存すると、インテリセンスが機能します。これは正しい解決策ではなく、バンドルの問題を回避するだけです。

0
Leon Faircloth