在Eclipse中使用Haml&Sass

是否有任何插件用于添加语法突出显示和其他编辑Haml和Sass的细节? Googlesearch似乎只能指向lucky-dip.net上的一个死亡项目 。

注意:这是我最感兴趣的Sass。在Eclipse中只使用Sass(或类似于它的类似的东西)的解决scheme将适合我的需要。

此外,我正在开发Google App Engine(Java),使用Eclipse的App Engine插件。 所以切换到另一个IDE不是一个选项。


更新:所以我现在使用Pascal的答案语法突出显示,我已经安装了Ruby和Compass编译sass到CSS。

但是我知道sass的语法将会随着2.4的变化而变化,所以我仍然想让Aptana来的Haml和Sass编辑工作。 当我试图使用它们时,他们抛出一个exception,并不会显示这些文件。 我有兴趣知道这是因为我错误地configuration了Aptana还是编辑器中的一个实际的错误。

我也会对编译与Ecplise集成的Sass的任何方式非常感兴趣,所以我不需要单独运行一些东西。 (或者将Sass / Compass放入Ecplise构build过程的方法)。

那么Aptana呢? 根据Aptana / Eclipse博客中的Haml / Saas语法突出显示 :

最近,我在一些Rails项目中使用了Haml 。 它只是让你的看法干净和可读。 我遇到的一个问题是在我最喜欢的IDE Aptana Studio中的语法突出显示。 Haml 语法高亮显示支持已经停止了一段时间,在Aptana最近更新之后,已经有更多的问题出现了。

经过一番调查,我find了Haml Google小组成员Max Kostovetski发布的解决scheme。 现在,到步骤:

  1. 将以下文件下载到您的硬盘:>
  2. Aptana Eclipse“窗口”菜单中select“首选项…”
  3. 在首选项窗口中,select“编辑”>“通用文本”
  4. 按“添加…”添加新的文件扩展名: *.haml*.sass
  5. 对于每个新的分机,点击它,然后按“浏览…”select适当的词法分析器文件( *.lxr
  6. 对于彩色化,按“导入…”导入*.col文件
  7. 按“确定”
  8. 享受你Haml的意见

PS:参考最初的博客文章,因为它提供了最新的链接。

注意:这可以与Aptana RadRails Eclipse插件以及Aptana Studio一起使用

更新:在撰写本文时,RadRails和Studio似乎支持Haml和Sass,所以现在可能没有必要按照上述步骤操作。


要在Eclipse中以“集成”方式编译SaaS,您可以使用外部工具 (运行>外部工具)。 另一个更详细的select是将一个“ 程序构build器 ”添加到您的项目的build设者,如在这篇博客文章 。 当然,所描述的解决scheme将需要适应萨斯,但其背后的原则似乎适用。 警告:我没有自己实现,这只是一个想法,我甚至不知道它是有道理的。

注意最新的EclipseColorer实际上同时支持HAML和SASS。 如果你不需要一个全function的Aptana IDE,而只是寻找一个编辑器,它可能是一个不错的select。

EclipseColorer还为您提供了更好的语法mixin支持:HAML中的其他语言突出显示了它们的语法(mixin for ruby​​,javascript,css,甚至sass)。

尽pipe目前还没有任何HAML或SASS语法的荧光笔,但您可能需要考虑通过几个可用的插件,将VIM(其支持HAML语法突出显示)引入Eclipse中。 Eclim可能是一个可能(虽然我没有使用它 – 只是试图提供其他的select)。

另一个select是采用已经存在的Eclipse语法突出显示插件并为Sass和/或HAML添加语法突出显示。 像Eclipse着色器可能值得研究。

我知道这是一个古老的问题,但对于像我这样的SASS aond Compass新手,我只安装了Aptana Studio 3,现在它支持.scss,.sass和.haml。 请享用。

Aptana对我造成了太多的问题,所以经过大量的search(发现这个线程),我发现LiClipseText( https://marketplace.eclipse.org/content/liclipsetext

这是一个插件,除其他外,还提供SASS / SCSS文件的语法突出显示。 它似乎工作,并有“语法突出(基于LiClipse,TextMate或SublimeText)”,所以可能是相当可configuration的(我还没有玩过它,但基本的语法突出function是为我工作,这是比Eclipse WST CSS编辑器可以为SCSS文件做)。

这是我没有使用的商业LiClipse插件( https://marketplace.eclipse.org/content/liclipse )的开源编辑器组件。

我发现Colorer插件在伊戈尔的答案有趣,但我使用.scss文件扩展名,它只适用于.sass文件。 以下是如何使它支持.scss文件扩展名:

首先像平常一样安装插件。 在Eclipse的“帮助”菜单中select“ Install New software ,并添加以下存储库: http://colorer.sf.net/eclipsecolorer : http://colorer.sf.net/eclipsecolorer 。 现在select这个存储库,你应该看到Eclipse Colorer安装选项。 没有拖放安装选项AFAIK。

安装完成后,在Eclipse的插件目录下findColorer插件文件夹。 在我的情况是eclipse/plugins/net.sf.colorer_0.9.9/ 。 你将不得不修改3个文件:

  • colorer / HRC / common.jar
  • colorer / HRC / proto.hrc
  • /plugin.xml

在做下面任何一条指令之前,请备份文件夹中的所有文件,以便在出现任何问题时恢复它们。

修改common.jar

将common.jar提取到一个空的文件夹。 这是作为任何正常的tar.gz文件完成的。 一旦提取,你将不得不修改其中的2个文件:

inet/haml.hrc复制53和53行,并将其更改为scss。 结果应该如下所示:

 <block start='/^((\s\s)*):(sass)/' end='/^\M (\s*$|\y1\s)?! /ix' region='def:Insertion' region01='def:Outlined' region00='def:PairStart' region10='def:PairEnd' content-priority='low' scheme='sass:sass'/> <block start='/^((\s\s)*):(scss)/' end='/^\M (\s*$|\y1\s)?! /ix' region='def:Insertion' region01='def:Outlined' region00='def:PairStart' region10='def:PairEnd' content-priority='low' scheme='scss:scss'/> 

现在将inet/sass.hrc复制到inet/scss.hrc并更改相关的行。 由此产生的scss.hrc应该如下所示:

 <?xml version="1.0" encoding='Windows-1251'?> <!DOCTYPE hrc PUBLIC "-//Cail Lomecb//DTD Colorer HRC take5//EN" "http://colorer.sf.net/2003/hrc.dtd"> <hrc version="take5" xmlns="http://colorer.sf.net/2003/hrc" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://colorer.sf.net/2003/hrc http://colorer.sf.net/2003/hrc.xsd"> <type name="scss"> <annotation> <documentation> SCSS Sassy CSS </documentation> <contributors><![CDATA[ Igor Russkih irusskih at gmail dot com ]]></contributors> </annotation> <region name="ClassSelector" parent="def:TypeKeyword"/> <region name="IDSelector" parent="def:Keyword"/> <region name="IncludeMixin" parent="def:Label"/> <scheme name='PropertyNames'> <regexp match="/(\$)([\w\d\-]+)/" region='def:Var'/> <inherit scheme='css:PropertyNames'/> </scheme> <scheme name="PropertyWrapper"> <block start="/~/" end="/(:|\s|$)/" scheme="PropertyNames" region10="def:Symbol"/> <regexp match="/(\$)([\w\d\-]+)/" region='def:Var'/> <inherit scheme="css:Property"/> </scheme> <scheme name="scss"> <!-- property value after colon --> <block start="/\M([\$\w\d\-]+)\s*(:)/" end="/\M([\x22\x27]|$)/" scheme="PropertyWrapper" region02="def:Symbol" /> <block start="/(:)\s*\M([\w\d\-]+)?/" end="/\M([\x22\x27]|$)/" scheme="PropertyWrapper" region02="def:Symbol" /> <regexp match="/^ \s* \M[\.\#\=\@\!] (?{def:Outlined}[\w\d\-]+ ) /x" /> <regexp match="/ \. (?{ClassSelector}[\w\d\-]+ ) /x" /> <regexp match="/ \# (?{IDSelector}[\w\d\-]+ ) /x" /> <regexp match="/ [\=\+] (?{IncludeMixin}[\w\d\-]+ ) /x" /> <regexp match="/[\(\)&apos;&quot;]/" region='def:Symbol'/> <regexp match="/\/\/.*$/" region='def:Comment'/> <regexp match="/\@(import|extend|mixin)/" region='def:Keyword'/> </scheme> </type> </hrc> <!-- ***** BEGIN LICENSE BLOCK ***** - Version: MPL 1.1/GPL 2.0/LGPL 2.1 - - The contents of this file are subject to the Mozilla Public License Version - 1.1 (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - http://www.mozilla.org/MPL/ - - Software distributed under the License is distributed on an "AS IS" basis, - WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License - for the specific language governing rights and limitations under the - License. - - The Original Code is the Colorer Library. - - The Initial Developer of the Original Code is - Igor Russkih <irusskih at gmail dot com> - Portions created by the Initial Developer are Copyright (C) 2010 - the Initial Developer. All Rights Reserved. - - Contributor(s): - - Alternatively, the contents of this file may be used under the terms of - either the GNU General Public License Version 2 or later (the "GPL"), or - the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), - in which case the provisions of the GPL or the LGPL are applicable instead - of those above. If you wish to allow use of your version of this file only - under the terms of either the GPL or the LGPL, and not to allow others to - use your version of this file under the terms of the MPL, indicate your - decision by deleting the provisions above and replace them with the notice - and other provisions required by the LGPL or the GPL. If you do not delete - the provisions above, a recipient may use your version of this file under - the terms of any one of the MPL, the GPL or the LGPL. - - ***** END LICENSE BLOCK ***** --> 

之后,在提取common.jar的文件夹中运行以下命令以重新创buildjar文件:

 jar cf common.jar * 

然后用这个replace原来的jar文件。

其他文件

现在,在/plugin.xml包含scss扩展37行:

扩展=“XML,XSD,XSL,DTD,HRC,HRD,HTML,HTM,XHTML,RHTML,ERB,YML,HAML,青菜,SCSS,CSS,ASP,ASPX,JSP,FO,SVG,DBK,DocBook的,JHTML ,JSPF,PHP,PHP3,PHP4,PHTML,上海通用,SGML,SHTM,SHTML”

最后,在colorer/hrc/proto.hrc复制200-203行。 结果应该如下所示:

 <prototype name="sass" group="inet" description="SASS"> <location link="jar:common.jar!inet/sass.hrc"/> <filename>/\.(sass)$/i</filename> </prototype> <prototype name="scss" group="inet" description="SCSS"> <location link="jar:common.jar!inet/scss.hrc"/> <filename>/\.(scss)$/i</filename> </prototype> 

在重启eclipse之后,你应该为.scss文件添加语法高亮。