如何在phpstorm中使用指南针?

时间:2013-04-04 09:09:03

标签: sass compass-sass phpstorm

我知道这个问题: How to add Compass syntax support to Jetbrains PhpStorm?但它没有帮助。

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

enter image description here

修改

这是针对PhpStorm 6 -

PhpStorm 7 +中的

Compass is supported

4 个答案:

答案 0 :(得分: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$
  6. 可以从工具菜单启动手动编辑。您还可以指定热键以更快地运行它。确保热键不会与现有热键冲突。

    在保存更改时使PHPStorm编译项目

    1. 确保您拥有PHPStorm的最新Early Access预览版。您可以从here下载。
    2. 确保已安装文件监视器插件。转到PHPStorm IDE设置的插件部分,查找文件监视器。如果它不在列表中,请通过它安装 浏览存储库并重新启动PHPStorm。
    3. 如果您尚未在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. 将其余部分留空并保存。
    13. 现在,无论何时保存对任何SCSS或SASS文件的更改,PHPStorm都会告诉Compass编译项目。

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

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

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

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

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

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

      恢复指南针

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

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

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

答案 1 :(得分:1)

如果它对任何人有帮助 - 在Snow Leopard上,指南针安装在以下目录中(显然路径中的版本号取决于安装的版本):

/Library/Ruby/Gems/1.8/gems/compass-0.12.2/bin/compass

因此,对于程序:选项,您可以在那里选择它。

答案 2 :(得分:0)

请检查JetBrains问题跟踪器上相应故障单(支持指南针)中的注释:很少有评论说明如何使其在IDE的当前版本中工作:

http://youtrack.jetbrains.com/issue/WEB-5802#comment=27-471454

答案 3 :(得分:0)

我正在使用PhpStorm 2017.1.4

设置Ruby路径变量并在PhpStorm中启用指南针对我来说没有用。

我无法使用项目目录中的指南针(“无法运行指南针”),因为终端无法使用Ruby安装目录中的可执行文件解析命令指南针。

因此,我在此explanation之后永久设置了一个窗口(使用win10)。

快速解释:

  • 假设您已经安装了ruby和指南针。

  • 转到:Control Panel -> System -> Advanced System Settings -> Environment Variables...

  • C:\Ruby22\bin添加到您的PATH变量

  • 重新启动PhpStorm

进一步的建议:

如果您从其他系统导入了项目,则删除config.rb字段并从项目根目录运行compass init可能会有所帮助。