scss 格式:缩进和 NestingDepth

scss formatting : indent and NestingDepth

我的 ionic 3 项目中有一个 scss 文件,当我 运行 这个命令时:npm 运行 scss-lint 来测试 scss 语法我在我的 cmd 中收到了这些警告:

src/pages/profile/profile.scss:3:3 [W] NestingDepth: Nesting should be no greater than 1, but was 2
src/pages/profile/profile.scss:9:3 [W] NestingDepth: Nesting should be no greater than 1, but was 2
src/pages/profile/profile.scss:15:3 [W] NestingDepth: Nesting should be no greater than 1, but was 2
src/pages/profile/profile.scss:20:3 [W] NestingDepth: Nesting should be no greater than 1, but was 2
src/pages/profile/profile.scss:28:3 [W] NestingDepth: Nesting should be no greater than 1, but was 2
src/pages/profile/profile.scss:33:3 [W] NestingDepth: Nesting should be no greater than 1, but was 2
src/pages/profile/profile.scss:37:1 [W] SelectorDepth: Selector should have depth of applicability no greater than 3, but was 4
src/pages/profile/profile.scss:37:3 [W] NestingDepth: Nesting should be no greater than 1, but was 2
src/pages/profile/profile.scss:38:1 [W] Indentation: Line should be indented 4 spaces, but was indented 3 spaces
src/pages/profile/profile.scss:39:1 [W] Indentation: Line should be indented 4 spaces, but was indented 3 spaces
src/pages/profile/profile.scss:42:3 [W] NestingDepth: Nesting should be no greater than 1, but was 2
src/pages/profile/profile.scss:47:1 [W] SelectorDepth: Selector should have depth of applicability no greater than 3, but was 5
src/pages/profile/profile.scss:47:3 [W] NestingDepth: Nesting should be no greater than 1, but was 2
src/pages/profile/profile.scss:53:3 [W] NestingDepth: Nesting should be no greater than 1, but was 2
src/pages/profile/profile.scss:57:3 [W] NestingDepth: Nesting should be no greater than 1, but was 2
src/pages/profile/profile.scss:61:3 [W] NestingDepth: Nesting should be no greater than 1, but was 2
src/pages/profile/profile.scss:68:3 [W] NestingDepth: Nesting should be no greater than 1, but was 2
src/pages/profile/profile.scss:72:3 [W] NestingDepth: Nesting should be no greater than 1, but was 2
src/pages/profile/profile.scss:79:3 [W] NestingDepth: Nesting should be no greater than 1, but was 2
src/pages/profile/profile.scss:85:3 [W] NestingDepth: Nesting should be no greater than 1, but was 2
src/pages/profile/profile.scss:93:3 [W] NestingDepth: Nesting should be no greater than 1, but was 2
src/pages/profile/profile.scss:97:3 [W] NestingDepth: Nesting should be no greater than 1, but was 2
src/pages/profile/profile.scss:101:3 [W] NestingDepth: Nesting should be no greater than 1, but was 2
src/pages/profile/profile.scss:108:3 [W] NestingDepth: Nesting should be no greater than 1, but was 2
src/pages/profile/profile.scss:115:3 [W] NestingDepth: Nesting should be no greater than 1, but was 2
src/pages/profile/profile.scss:120:3 [W] NestingDepth: Nesting should be no greater than 1, but was 2
src/pages/profile/profile.scss:128:3 [W] NestingDepth: Nesting should be no greater than 1, but was 2
src/pages/profile/profile.scss:132:3 [W] NestingDepth: Nesting should be no greater than 1, but was 2
src/pages/profile/profile.scss:136:1 [W] SelectorDepth: Selector should have depth of applicability no greater than 3, but was 4
src/pages/profile/profile.scss:136:3 [W] NestingDepth: Nesting should be no greater than 1, but was 2
src/pages/profile/profile.scss:143:1 [W] SelectorFormat: Selector `Progress-main` should be written in hyphenated BEM (Block Element Modifier) format
src/pages/profile/profile.scss:143:3 [W] NestingDepth: Nesting should be no greater than 1, but was 2
src/pages/profile/profile.scss:150:1 [W] SelectorFormat: Selector `Progress-main` should be written in hyphenated BEM (Block Element Modifier) format
src/pages/profile/profile.scss:150:3 [W] NestingDepth: Nesting should be no greater than 1, but was 2
src/pages/profile/profile.scss:154:1 [W] SelectorFormat: Selector `Progress-main` should be written in hyphenated BEM (Block Element Modifier) format
src/pages/profile/profile.scss:154:3 [W] NestingDepth: Nesting should be no greater than 1, but was 2
src/pages/profile/profile.scss:158:1 [W] SelectorFormat: Selector `Progress-bar` should be written in hyphenated BEM (Block Element Modifier) format
src/pages/profile/profile.scss:158:3 [W] NestingDepth: Nesting should be no greater than 1, but was 2
src/pages/profile/profile.scss:164:1 [W] SelectorFormat: Selector `Progress-value` should be written in hyphenated BEM (Block Element Modifier) format
src/pages/profile/profile.scss:164:3 [W] NestingDepth: Nesting should be no greater than 1, but was 2
src/pages/profile/profile.scss:165:23 [W] HexLength: Color `#0000ff` should be written as `#00f`
src/pages/profile/profile.scss:170:1 [W] Indentation: Line should be indented 2 spaces, but was indented 1 spaces
src/pages/profile/profile.scss:170:3 [W] NameFormat: Name of variable `progress_bar_colour` should be written in all lowercase letters with hyphens instead of underscores
src/pages/profile/profile.scss:172:1 [W] SelectorFormat: Selector `Progress-label-left` should be written in hyphenated BEM (Block Element Modifier) format
src/pages/profile/profile.scss:172:3 [W] NestingDepth: Nesting should be no greater than 1, but was 2
src/pages/profile/profile.scss:182:1 [W] SelectorFormat: Selector `Progress-label-right` should be written in hyphenated BEM (Block Element Modifier) format
src/pages/profile/profile.scss:182:3 [W] NestingDepth: Nesting should be no greater than 1, but was 2
src/pages/profile/profile.scss:193:1 [W] SelectorFormat: Selector `Progress-label-center` should be written in hyphenated BEM (Block Element Modifier) format
src/pages/profile/profile.scss:193:3 [W] NestingDepth: Nesting should be no greater than 1, but was 2
src/pages/profile/profile.scss:202:1 [W] SelectorFormat: Selector `Progress-main` should be written in hyphenated BEM (Block Element Modifier) format
src/pages/profile/profile.scss:202:3 [W] NestingDepth: Nesting should be no greater than 1, but was 2
src/pages/profile/profile.scss:209:1 [W] SelectorFormat: Selector `Progress-main` should be written in hyphenated BEM (Block Element Modifier) format
src/pages/profile/profile.scss:209:3 [W] NestingDepth: Nesting should be no greater than 1, but was 2
src/pages/profile/profile.scss:213:1 [W] SelectorFormat: Selector `Progress-main` should be written in hyphenated BEM (Block Element Modifier) format
src/pages/profile/profile.scss:213:3 [W] NestingDepth: Nesting should be no greater than 1, but was 2
src/pages/profile/profile.scss:214:17 [W] NameFormat: Name of variable `progress_bar_colour` should be written in all lowercase letters with hyphens instead of underscores
src/pages/profile/profile.scss:217:1 [W] SelectorFormat: Selector `Progress-main` should be written in hyphenated BEM (Block Element Modifier) format
src/pages/profile/profile.scss:217:3 [W] NestingDepth: Nesting should be no greater than 1, but was 2
src/pages/profile/profile.scss:221:1 [W] SelectorFormat: Selector `Progress-main` should be written in hyphenated BEM (Block Element Modifier) format
src/pages/profile/profile.scss:221:3 [W] NestingDepth: Nesting should be no greater than 1, but was 2
src/pages/profile/profile.scss:226:1 [W] SelectorFormat: Selector `Progress-bar` should be written in hyphenated BEM (Block Element Modifier) format
src/pages/profile/profile.scss:226:3 [W] NestingDepth: Nesting should be no greater than 1, but was 2
src/pages/profile/profile.scss:228:23 [W] NameFormat: Name of variable `progress_bar_colour` should be written in all lowercase letters with hyphens instead of underscores
src/pages/profile/profile.scss:232:1 [W] SelectorFormat: Selector `Progress-value` should be written in hyphenated BEM (Block Element Modifier) format
src/pages/profile/profile.scss:232:3 [W] NestingDepth: Nesting should be no greater than 1, but was 2
src/pages/profile/profile.scss:238:3 [W] NestingDepth: Nesting should be no greater than 1, but was 2
src/pages/profile/profile.scss:245:3 [W] NestingDepth: Nesting should be no greater than 1, but was 2

这是我粘贴在 pastbin 中的 scss 文件 https://pastebin.com/1ZqC2Ptc

能否请您提供一些 link 帮助我格式化 scss 文件,或者是否有任何插件可以在可视化代码编辑器上配置,我尝试了很多时间来解决缩进问题和嵌套深度..?

错误NestingDepth: Nesting should be no greater than 1不是指大括号嵌套,它指的是选择器嵌套

请记住,SASS 中的大括号嵌套只是帮助提高源代码可读性的糖分。

例如,

div {
    a {
      font-size: 15px;
    }
}

只是 SASS

的糖
div a {
    font-size: 15px;
}

这意味着,以你的例子为例:

page-profile {
   .profileinformations> h1 > ion-icon {
     font-size: 15px;
     color: color($colors, icon-color);
   }
}

嵌套深度为 4:page-profile .profileinformations > h1 > ion-icon