如何在phpstorm中使用指南针?

Tjo*_*rie 16 sass phpstorm compass-sass

我知道这个问题: 如何向Jetbrains PhpStorm添加Compass语法支持?但它没有帮助.

我只是选择复制文件,在我的项目中更容易.但是phpstorm仍然抱怨指南针.没有罗盘,它使用ruby 1.9.3编译scss没有问题.我的设置是否正确?

在此输入图像描述

编辑:

这是为PhpStorm 6-

PhpStorm 7+ 支持指南针

And*_*aus 28

首先,您所关联的问题是关于支持Compass风格的导入,这是一种不适用于每个项目的解决方法.

你的问题是关于另一件事:编译指南针项目.

这两个问题都将在PHPStorm的第7版中解决,该版本不会很快发布:第6版刚刚发布.目前,有许多解决方法.

手动编译带有PHPStorm的Compass项目

  1. 转到PHPStorm IDE设置的" 外部工具"部分.
  2. 创建一个新的外部工具.将其命名为"指南针编译手册"或类似名称.
  3. 程序设置为指向Compass二进制文件.在Windows上,它就像C:\Ruby193\bin\compass.bat在Linux和Mac 上一样简单compass.但是,如果您正在使用RVM,那么该程序应该是bash.
  4. 参数字段应该compile为所有的操作系统,除非你使用RVM.对于RVM,参数应设置为–login -c "compass compile".
  5. 工作目录场应设置为$ProjectFileDir$.

可以从" 工具"菜单启动手动编译.您还可以指定热键以更快地运行它.确保热键不会与现有热键发生冲突.

每当您保存更改时,使PHPStorm编译您的项目

  1. 确保您拥有PHPStorm的最新Early Access预览版.你可以从这里下载.
  2. 确保已安装File Watchers插件.转到PHPStorm IDE设置的插件部分,查找文件监视器.如果它不在列表中,请通过浏览存储库安装它 并重新启动PHPStorm.
  3. 如果您还没有在PHPStorm中打开项目,请在PHPStorm中打开它.
  4. 转到PHPStorm项目设置的文件监视器部分.
  5. 创建一个新的文件监视器.使用自定义模板.将您的观察者命名为"Compass compile on save"或类似名称.
  6. 文件类型设置为SCSS或SASS,具体取决于您在项目中使用的类型.
  7. 范围保留为"项目文件"
  8. 程序设置为指向Compass二进制文件.在Windows上,它就像C:\Ruby193\bin\compass.bat在Linux和Mac 上一样简单compass.但是,如果您正在使用RVM,那么该程序应该是bash.
  9. 参数字段应该compile为所有的操作系统,除非你使用RVM.对于RVM,参数应设置为–login -c "compass compile".UPD: @ ezekiel-victor建议这样做:–login -c "compile --sass-dir=$ProjectFileDir$ --css-dir=$ProjectFileDir$".
  10. 工作目录场应设置为$ProjectFileDir$.
  11. 禁用Check for syntax errors.
  12. 将其余部分留空并保存.

现在,只要保存对任何SCSS或SASS文件的更改,PHPStorm就会告诉Compass编译项目.

UPD如果你正在使用Bundler(Gemfile你的项目中有你bundle install需要获取依赖项),你应该使用bundle exec compass compile而不是compass compile.这意味着您必须使用bundle可执行文件(bundle.bat在Windows上)而不是compass(compass.bat)并相应地调整Arguments字段.

compass watch在OS控制台中手动运行(推荐)

运行的问题compass compile在于它每次执行时重新编译整个项目都很慢.

相反,您可以compass watch使用操作系统控制台在项目文件夹中手动运行命令.Compass Watch将持续监控您的项目是否有变化.当注意到更改时,它将仅重新编译已修改的部分,这会更快.

Compass Watch非常聪明,不会监控项目中的每个文件.它仅监视由任何非部分文件或递归导入的部分导入的非部分文件(例如screen.scss)和部分(例如_layout.scss).

如果您通过网络文件系统处理项目(例如,在使用虚拟机或开发服务器运行代码时),编译和跟踪更改将变得太慢.因此,使用远程/虚拟机时的最佳选择是compass watch在该计算机上运行,以便在本地跟踪更改,而不是通过网络文件系统.

恢复指南针

Compass缓存它自己的工作,使编译更快.有时缓存会与项目内容不一致.这导致Compass报告各种奇怪的错误并拒绝编译您的项目.

一旦您认为Compass报告的错误不是真的,请执行compass clean并重新编译您的项目.清理将清除Compass缓存和编译的文件,以便从头开始.

您可以compass clean在控制台中手动运行或将其添加为PHPStorm外部工具.

  • 我给了你一个upvote,但请考虑更新你的答案.我必须进行以下更改才能使文件观察器在PHPStorm中工作:1)更改参数以使dirs明确:"compile --sass-dir = $ ProjectFileDir $ --css-dir = $ ProjectFileDir $",2)删除"输出路径". (2认同)