16

我知道这个问题: How to add Compass syntax support to Jetbrains PhpStorm? 但这无济于事。

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

在此处输入图像描述

编辑

这是针对 PhpStorm 6-

PhpStorm 7+支持 Compass

4

4 回答 4

28

首先,您链接的问题是关于启用对 Compass 样式导入的支持,这是一种不适用于每个项目的解决方法。

您的问题是关于另一件事:编译 Compass 项目

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

使用 PHPStorm 手动编译 Compass 项目

  1. 转到 PHPStorm IDE 设置的外部工具部分。
  2. 创建一个的外部工具。将其命名为“Compass compile manual”或类似名称。
  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 早期访问预览版。你可以从这里下载。
  2. 确保您已安装File Watchers插件。转到 PHPStorm IDE 设置的Plugins部分,查找File Watchers。如果它不在列表中,请通过 Browse repositories安装它并重新启动 PHPStorm。
  3. 如果您还没有这样做,请在 PHPStorm 中打开您的项目。
  4. 转到 PHPStorm 项目设置的File Watchers部分。
  5. 创建一个的文件观察器。使用自定义模板。将您的观察者命名为“Compass compile on save”或类似名称。
  6. 文件类型设置为 SCSS 或 SASS,具体取决于您在项目中使用的类型。
  7. 将范围保留为“项目文件”
  8. 程序设置为指向您的 Compass 二进制文件。在 Windows 上它就像C:\Ruby193\bin\compass.bat,在 Linux 和 Mac 上它可以很简单compass。但如果您使用的是 RVM,那么程序应该是bash.
  9. Arguments字段应该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 外部工具。

于 2013-04-04T11:44:16.747 回答
1

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

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

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

于 2013-09-05T15:09:48.613 回答
0

请在 JetBrains 问题跟踪器上查看相应票证(支持 Compass)中的评论:即使在当前版本的 IDE 中,也很少有评论说明如何使其工作:

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

于 2013-04-04T10:40:04.207 回答
0

我正在使用 PhpStorm 2017.1.4

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

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

因此,我按照这个说明永久设置了一个 windows(使用 win10)环境变量。

快速解释:

  • 假设你已经安装了 ruby​​ 和 compass。

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

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

  • 重启 PhpStorm

进一步的建议:

如果您从不同的系统导入您的项目,则删除您的config.rb文件并compass init从项目根目录运行可能会有所帮助。

于 2017-06-08T10:28:16.890 回答