ctrl+shift+p filters: :st2 :st3 :win :osx :linux
浏览

SCSS Expand工具

作者: garetht 全部

展开当前光标作用域中的SCSS规则。

标签 语言语法

详细信息

  • 0.3.2
  • github.com
  • github.com
  • 10年前
  • 20分钟前
  • 10年前

安装数量

  • 总数 27K
  • Win 17K
  • Mac 7K
  • Linux 3K
2023年8月6日 2023年8月5日 2023年8月4日 2023年8月3日 2023年8月2日 2023年8月1日 2023年7月31日 2023年7月30日 2023年7月29日 2023年7月28日 2023年7月27日 2023年7月26日 2023年7月25日 2023年7月24日 2023年7月23日 2023年7月22日 2023年7月21日 2023年7月20日 2023年7月19日 2023年7月18日 2023年7月17日 2023年7月16日 2023年7月15日 2023年7月14日 2023年7月13日 2023年7月12日 2023年7月11日 2023年7月10日 2023年7月9日 2023年7月8日 2023年7月7日 2023年7月6日 2023年7月5日 2023年7月4日 2023年7月3日 2023年7月2日 2023年7月1日 2023年6月30日 2023年6月29日 2023年6月28日 2023年6月27日 2023年6月26日 2023年6月25日 2023年6月24日 2023年6月23日
Windows 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 3 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0
Mac 0 1 0 0 1 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 1 0 1 0 0 1
Linux 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0

README

源代码
raw.githubusercontent.com

SCSS Expand工具

Build Status

假设你在使用SCSS语法的长项目中工作,并且开始忘记当前规则的嵌套结构。

//... {
        .foo {
          &.bar {
            // what CSS rule is being generated here?
          }
        }
//... }

当然,可以查看生成的CSS,如果生成的样式表不是很复杂的话。但这也要求你同时打开另一个文件并查找行号。大多数时候你只是需要一个直接的答案;在这里,你可能得到这个答案

.bim
.baz
.foo.bar

(因为Sublime Text的警告窗口空间非常小。)

安装和使用

sublime-scss-expander 为你做到这一点。要安装,可以将此存储库放在Sublime的包文件夹中,或者使用更简单的 Sublime Package Control。在Windows/Linux上按 ctrl+shift+p,在Mac上按 cmd+shift+p,调出Sublime的命令面板,然后输入 install package 以调出Package Control的包选择器。它应该是第一个选项。键入 SCSS Expand,再次,它应该是第一个选项,然后按回车。

要使用,将光标定位在你想了解的规则的作用域中,默认情况下按 command-E 以显示该位置的作用域规则。它也作为 SCSS Expand: Expand Cursor Scope 出现在命令面板中。

支持

它支持SCSS的大部分合理用法,包括 SASS 3.3的 @at-root 以及所有可能的参数,以及各种排列组合的 父选择器,还包括联合组合的逗号分隔规则。

因为它 不是一个解析器,因此它只能在您提供正确代码时工作。它不会展开伪装成规则的content-blocks。它甚至不会尝试查看任何导入的内容。

示例

以下是一些工作方式的示例。在每种情况下,假设光标位于最内层作用域中。所有示例都是从测试中提炼出来的;更多内容请查看测试文件。

以逗号分隔的规则

.first-rule, .second-rule {
  &:hover {
    font-weight: 500;
  }
}
.first-rule:hover,
.second-rule:hover

插值变量

.bim {
  @for $thing in (foo bar) {
    .test-#{$thing}-bling {
      width: 20px;
    }
  }
}
.bim .test-#{$thing}-bling

根级不带

@media screen {
  @supports something {
    .foo {
      @at-root(without: rule media) .bar {
        top: 0;
      }
    }
  }
}
@supports something .bar

测试

这里有一堆测试,希望它们能提供良好的覆盖率。这些测试位于scss_expand_test.py中。这并不是直接测试Sublime Text;相反,扩展器已经被推广,可以与任何给定文本中的起始位置以及一个函数一起工作,该函数会根据索引返回文本中该位置的字符。这意味着主Python类SCSSExpander可以导出,供其他项目使用。