Visual Studio'格式文档'打破CSS自定义属性

时间:2016-11-30 19:13:58

标签: polymer visual-studio-2017

我正在尝试在Visual Studio中使用Google Polymer。样式化组件时,我使用Polymer API指南中指定的自定义属性:

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

这会在visual studio中生成以下警告:

  

在&#34;(属性):(值)&#34;中冒号(&#39;:&#39;)之前缺少属性名称声明。

     

该区块未公开,&#39;}&#39;预期

     

在样式规则中缺少选择器。

     

期望样式规则的选择器。

     

在样式规则中的选择器后面缺少左括号(&#39; {&#39;)。

     

意外的字符序列。

此外,在尝试自动格式化文档时(Ctrl + K,Ctrl + D),Visual Studio会插入导致无效css的分号:

paper-toolbar {
    --paper-toolbar:;

{
    border: none;
}

;
}

(注意&#39;纸 - 工具栏&#39;之后的分号。)

我真的希望能够使用自动格式快速修复同一组件中的html缩进,但是我不能,因为它在CSS中插入了杂散字符。有没有办法让VS了解这个CSS,或者至少不插入不合适的分号?

我正在使用VS 2017 RC,但VS 2015中的行为是相同的。

1 个答案:

答案 0 :(得分:2)

Visual Studio CSS编辑器并不期望某个属性值的块({})。 CSS 中没有方式消费你合法使用的价值(由于同样的原因,它在var()中无效),但是自定义属性的规范确实指定它们不限于被CSS使用。

老实说,这是对我们如何处理自定义属性的实现的疏忽。我已经提交了一个错误来跟踪问题。目前还没有解决方法来解决此问题,因为格式化程序会在其认为合适时积极修复标点符号。

(来源:我目前正在使用VS中的CSS编辑器。)