【发布时间】:2016-07-29 14:25:11
【问题描述】:
我正在学习一个使用.css 文件中的变量的教程,该教程使用一个名为PreCSS(一组添加类似Sass 功能的插件)和PostCSS 的包。 gulp 需要这些包。
我有一个名为_variables.css 的文件,在定义变量时,所有内容都变为红色,并显示“选择器匹配未知元素”。
例如:
$blue: #0076A3;
代码可以正常工作,所以我需要让 PhpStorm 以某种方式识别此代码。
但是如果使用 Sass 代替它会起作用吗?不过,使用变量的原理是一样的。
在项目设置 - 检查中,SASS/SCSS 已激活,所以我猜它应该识别 Sass 变量。不知道是不是因为我用了这个 PreCSS 包。
可以通过某种方式解决问题吗?
【问题讨论】:
-
在 IDE 正确支持 PostCSS(和最流行的插件)之前,您唯一的选择是将
*.css扩展与支持这种语法的语言(在您的情况下为 Sass)相关联——它可以在Settings/Preferences | Editor | File Types中完成。注意:这是 IDE 范围的设置,将影响所有项目和所有 *.css 文件。 -
在文件类型“CSS 文件”上,我可以编辑“注册模式”并添加通配符,或者如果我双击“css 文件”我可以“编辑文件类型”和“添加关键字”,但我不做我应该做的事。你如何将 SASS 与 CSS 联系起来?
-
什么“CSS 文件”?请截图。它不是标准文件类型——你一定是做错了什么或使用了其他东西(自定义插件/textmate 包/等?)将它添加到那里。默认情况下,
*.css模式与“层叠样式表”文件类型相关联。我上面的建议是将该模式与“Sass”文件类型(或 SCSS——只要符合您的需要)重新关联。理想情况下,与其使用.css文件,不如使用一些自定义文件扩展名(例如.postcss)——这样普通的CSS 文件在其他项目中仍能得到正确处理。 -
好的,我刚刚找到了“层叠样式表”文件类型(列表中还有“CSS文件”,可能是很久以前自定义添加的..)做一个自定义文件的好主意类型!我想我只是将“注册模式”上的 *.scss 添加到此文件类型中?
-
“自定义文件类型的好主意!” 不是文件类型!我说过“自定义扩展”。自定义文件类型对您没有任何作用——它可以以其他方式工作。我上面的话的整个想法是:将自定义文件扩展名添加到现有文件类型 - 例如将
*.postcss(或*.precss,如果您愿意的话)模式添加到Sass文件类型。然后将您的_variables.css重命名为_variables.precss