SCSS Expand工具
展开当前光标作用域中的SCSS规则。
详细信息
安装数量
- 总数 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
SCSS Expand工具
假设你在使用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
根级不带
@supports something .bar
测试
这里有一堆测试,希望它们能提供良好的覆盖率。这些测试位于scss_expand_test.py
中。这并不是直接测试Sublime Text;相反,扩展器已经被推广,可以与任何给定文本中的起始位置以及一个函数一起工作,该函数会根据索引返回文本中该位置的字符。这意味着主Python类SCSSExpander
可以导出,供其他项目使用。