如何为 Jetbrains PhpStorm 添加 Compass 语法支持?

How to add Compass syntax support to Jetbrains PhpStorm?

提问人:Madara's Ghost 提问时间:11/4/2012 最后编辑:Madara's Ghost 更新时间:7/10/2014 访问量:8444

问:

我使用的是 JetBrains PhpStorm,这可能是我用过的最史诗般的 IDE。

问题很简单。如何向其添加 Compass 语法支持?我已经安装了它,它可以渲染并工作,但 PhpStorm 仍然抱怨未定义的导入和混合。

我该如何解决这个问题?Compass 可以作为外部库包含在内吗?


编辑:我只想指出,此功能请求是针对RubyMine IDE(也是JetBrains的),而不是针对PhpStorm / WebStorm的。

CSS 指南针-SASS phpstorm

评论

1赞 LazyOne 11/4/2012
youtrack.jetbrains.com/issue/RUBY-8299我想
0赞 Madara's Ghost 11/5/2012
@LazyOne:不要这么认为,它列在 Ruby 项目下,而不是 WebStorm/PhpStorm 项目下。
1赞 LazyOne 11/5/2012
如果这是唯一的原因,那么恐怕你错了。RubyMine 中 JavaScript 或部署 (S/FTP/S) 或 HTML 或拼写检查器等的任何问题都将转移到 PhpStorm 项目中,因为它是此类问题的发源地。同时,Ruby 项目是 SASS/SCSS/LESS/HAML 问题的发源地。您必须记住,Compass 是建立在 SASS 之上的,而 PhpStorm 中的 SASS/SCSS 支持是通过插件完成的(几乎所有功能都是如此)。因此,这是要处理的正确问题。

答:

3赞 Martin Schuhfuß 12/1/2012 #1

我通过将 -directory (from) 的符号链接放入我的样式表所在的文件夹中来解决它。这更像是一种解决方法,但它让我和 phpstorm-inspections/-autocompletion 感到高兴。compass$GEM_LOCATION/frameworks/compass/stylesheets/compass

评论

1赞 Madara's Ghost 12/2/2012
什么是符号链接?注意:我运行的是 Windows。
0赞 Madara's Ghost 12/14/2012
@MadaraUchiha:这对我不起作用,你能详细说明一下这个过程吗?
1赞 Martin Schuhfuß 12/17/2012
当你安装 Compass 时,它的所有 .scss 文件都安装到某个位置,可能取决于你的 Ruby 安装所在的位置(你可以使用命令找出路径,查找 ,应该是这样的)。在这个目录中,你会找到 compass-gem,它又包含上面提到的目录。gem environmentINSTALLATION DIRECTORY.../Ruby192/lib/ruby/gems/1.9.1
0赞 Martin Schuhfuß 12/17/2012
至于符号链接,您可以尝试复制文件,但您应该确保将它们从您的项目版本控制中排除......
19赞 Maxim 12/17/2012 #2

这是对马丁回答的解释。 指向 sass 文件夹中的 compass gem 目录的符号链接效果很好。

使用说明(Windows)

  1. 使用管理员权限打开 CMD
  2. 例如,更改项目 Sass 文件夹的路径cd projectname\sass
  3. 运行 ,至于我 $GEM_LOCATION =mklink /d compass $GEM_LOCATION\frameworks\compass\stylesheets\compassC:\dev\Ruby200\lib\ruby\gems\2.0.0\gems\compass-0.12.2

仅此而已,现在 PhpStorm 不会将指南针混合突出显示为错误,而是将它们添加到自动完成建议中。

警告:如果要删除创建的符号链接,请不要使用 delete,它将删除源目录。 使用管理员权限打开 CMD,然后运行cd $yourProjectSassPathrmdir compass

评论

0赞 Madara's Ghost 12/17/2012
谢谢。它对我不起作用,CMD 说符号链接已创建,但是使用资源管理器打开时我没有看到任何新文件,并且 PhpStorm 仍然无法识别它们。
0赞 Madara's Ghost 12/17/2012
去掉后面的斜杠后,它起作用了。谢谢一堆:)compass
1赞 David Fells 1/22/2013
添加了指南针和极光样式表目录作为符号,没有这样做
1赞 David Fells 1/22/2013
我还应该注意,在 PHPStorm 中,IDE 不会识别任何指南针混合、变量等,无论它们位于项目中的哪个位置。
0赞 Tjorriemorrie 3/25/2013
仍然得到:import 语句必须是什么??error main.scss (Line 2: File to import not found or unreadable: compass.@import 'compass';
3赞 user2041974 9/6/2013 #3

我认为最好在目录设置中添加目录:http://www.jetbrains.com/phpstorm/webhelp/directories.html

在上面的示例中,添加一个新的内容根目录 C:\dev\Ruby200\lib\ruby\gems\2.0.0\gems\compass-0.12.2。

评论

0赞 JoshuaDavid 5/5/2014
添加正确的文件夹不如符号链接解决方案好,因为您不能很好地控制指南针源文件的范围。有了符号链接,你就能确切地知道你得到了什么。
9赞 Johan 9/8/2013 #4

正如上面的用户提到的,它也可以将 Compass 样式表的路径作为项目中的资源目录添加。

例如,我的指南针样式表位于:C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/compass-0.12.2/frameworks/compass/stylesheets

  1. 转到“设置”>“项目设置”>“目录”。
  2. 添加内容根目录
  3. 添加 compass 样式表目录
  4. 单击“资源根”(蓝色图标)

当您申请时,您会看到 PhpStorm 毫无问题地找到指南针样式表。您甚至可以 ctrl+单击(窗口)直接打开它们。

祝你好运!

评论

1赞 sanchez 12/11/2013
+1 它有效,但在我的情况下: 3. 添加“.../frameworks/compass”作为内容根目录 4.在树视图中选择“stylesheets”文件夹。5. 单击“资源根”(蓝色图标)
0赞 Bathmat 1/10/2017
绝对是最好的解决方案。不过,仅仅在 Linux 上的 Ruby 2.0.3 中添加目录对我不起作用,我必须包含父目录。stylesheetscompass-core-1.0.3
2赞 Dave Nelson 12/6/2013 #5

通过使用更好的可执行文件源,可以更轻松地修复此问题。

寄件人: http://youtrack.jetbrains.com/issue/WEB-9139

在 Windows 中,使用可执行路径,例如:

C:\Ruby200\lib\ruby\gems\2.0.0\gems\compass-0.12.2\bin\compass

在 Mac 上,使用类似的东西:

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