如何删除 WebStorm sass-lint 错误 "Unknown pseudo selector 'ng-deep'"

How to remove WebStorm sass-lint error "Unknown pseudo selector 'ng-deep'"

Angular 2+ 在 WebStorm 中使用 scss 和 ::ng-deep 用文本突出显示此选择器 "Unknown pseudo selector 'ng-deep'"

我试过类似的方法:

selector-pseudo-class-no-unknown: true
  ignorePseudoClasses: ng-deep

or

selector-pseudo-class-no-unknown: false

None 本作品。

如何在 scss-lint.yml 中为这个伪选择器设置异常?

::ng-deep 是伪元素,不是伪class。 这在我的 .stylelintrc

中是等效的
{
  "rules": {
    "selector-pseudo-element-no-unknown": [true, {
      "ignorePseudoElements": ["ng-deep"]
    }]
  }
}

您还需要取消选中设置 -> 检查 -> CSS -> 无效元素 -> 无效 CSS 伪选择器

在 Angular 4.x 中,您可以使用 /deep/ 而不是 ::ng-deep

UPD 14.05.2018

引自angular.io:

The shadow-piercing descendant combinator is deprecated and support is being removed from major browsers and tools. As such we plan to drop support in Angular (for all 3 of /deep/, >>> and ::ng-deep). Until then ::ng-deep should be preferred for a broader compatibility with the tools.

所以基本上你不应该使用它们中的任何一个,因为Angular团队将停止支持这个功能。