2016-11-30 16 views
0

Visual StudioでGoogle Polymerを使用しようとしています。コロンの前に、プロパティ名がありませんVisual Studio 'フォーマットドキュメント'でCSSカスタムプロパティが破損する

<style is="custom-style"> 
    paper-toolbar { 
     --paper-toolbar: { 
      border: none; 
     }; 
    } 
</style> 

これは、Visual Studioで次の警告を生成します。コンポーネントをスタイリングすると、私のようなポリマーAPIガイドで指定されたカスタムプロパティを使用しています"(property):(value)"宣言( ':')を宣言します。

ブロックが閉じていません。 '}'が必要です。

スタイルルールにセレクタがありません。

スタイルルールのセレクタが必要です。

スタイルルールのセレクタの後に中括弧( '{')がありません。

予期しない文字シーケンスです。

自動フォーマットへの文書(またはCtrl + Kは、Ctrl + D)をしようとしたときさらに、Visual Studioは、無効なCSSもたらすセミコロン挿入:

paper-toolbar { 
    --paper-toolbar:; 

{ 
    border: none; 
} 

; 
} 

は(半に気づきます「ペーパーツールバー」の後にコロン)。

自動フォーマットを使用して、同じコンポーネント内のHTMLのインデントをすばやく修正したいと思っていますが、CSSに迷子文字が挿入されるため、できません。 VSがこのCSSを理解できるようにする方法はありますか、少なくとも不適切なセミコロンは挿入しないでください。

私はVS 2017 RCを使用しています、しかし行動はVS 2015で同じである

+0

FYI、VSコードインサイダーは今ポリマーのためのCSSプロパティとミックスインをサポートして構築します。この機能は、PolymerチームのPRを介して追加されました。また、Polymerプロジェクト(およびその他のWeb Componentプロジェクト)のコード情報を提供するVS CodeとAtomを統合した 'polymer-ide'プラグインにも取り組んでいます。 – tony19

答えて

1

のVisual Studio CSSエディタは、プロパティ値のブロック({}を)期待していません。 CSSのには、あなたが合法的に使用している値を消費する方法(同じ理由でvar()では有効ではありません)がありませんが、カスタムプロパティの仕様では、 CSSによって消費されています。

正に、これはカスタムプロパティの処理方法の実装についての見落としです。問題を追跡するためのバグを提出しました。現在の動作を修正する回避策はありません。フォーマッタは積極的に句読点を修正します。

(出典:私は現在VS.におけるCSSエディタ上で動作)

関連する問題