使用Haml& Sass与Eclipse

时间:2009-09-24 20:55:23

标签: eclipse haml sass

是否有任何插件可以为eclipse添加语法高亮和其他细节以便编辑HamlSass? Google搜索似乎只指向dead project on lucky-dip.net

注意:这是我最感兴趣的Sass。在Eclipse中使用Sass(或类似less之类的东西)的解决方案可以满足我的需求。

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


更新:我现在使用Pascal's answer语法突出显示,我已经安装了RubyCompass来将sass编译成css。

但是我知道syntax of sass will be changing with 2.4所以我仍然想让Aptana带来的Haml和Sass编辑工作。当我尝试使用它们时,它们抛出异常而不显示文件。我有兴趣知道这是因为我错误配置了Aptana还是编辑中的实际错误。

我也非常对编译与Ecplise集成的Sass的任何方式感兴趣,这样我就不必独立运行它了。 (或者将Sass / Compass放入Ecplise构建过程中的方法。)

6 个答案:

答案 0 :(得分:28)

那么,Aptana呢?根据{{​​3}}博文:

  

最近,我一直在使用Haml/Saas Syntax Highlighting in Aptana/Eclipse   一些我的Rails项目。它很简单   使您的观点清晰可读。   我遇到的一个问题是语法   在我最喜欢的IDE中突出显示   Haml。 Haml Aptana Studio已经停止了   前一段时间还有更多问题   在Aptana最近的更新后提出。

     经过一番研究,我发现了一个   解决方案由Max Kostovetski发布,a   Haml Google小组成员。现在,来   步骤:

     
      
  1. 将以下文件下载到您的硬盘:>      
  2.   
  3. Aptana Eclipse“窗口”菜单中,选择“首选项...”
  4.   
  5. 在偏好设置窗口中,选择“编辑器”> “通用文字”
  6.   
  7. 按“添加...”添加新的文件扩展名:*.haml*.sass
  8.   
  9. 对于每个新扩展程序,单击它并按“浏览...”   选择适当的词法分析器文件(*.lxr
  10.   
  11. 要进行着色,请按“导入...”以导入*.col文件
  12.   
  13. 按“确定”
  14.   
  15. 享受你的观点
  16.   

PS:请参阅原始博文,因为它提供了最新的链接。

注意:这可以与http://haml.googlegroups.com/web/sass.col以及Aptana Studio一起使用

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


要在Eclipse中以“集成”方式编译SaaS,您可以使用外部工具(运行>外部工具)。另一个更详细的选项是将“程序生成器”添加到项目的 Builders 中,就像在此Aptana RadRails Eclipse plugin中一样。当然,所描述的解决方案需要适应Saas,但其背后的原则似乎适用。警告:我自己没有实现它,这只是一个想法,我甚至不确定它是否有意义。

答案 1 :(得分:10)

请注意,最新的EclipseColorer实际上支持HAML和SASS。如果您不需要功能齐全的Aptana IDE,只需寻找编辑器,它可能是一个不错的选择。

EclipseColorer还为您提供了更好的语法mixin支持:HAML中的其他语言在语法方面突出显示(用于ruby,javascript,css甚至是sass的mixins)。

答案 2 :(得分:1)

虽然似乎还没有任何HAML或SASS语法高亮显示器,但您可能需要考虑采取一些措施,通过一些可用的插件将VIM(确实支持HAML语法高亮显示)引入Eclipse 。 Eclim可能是一种可能性(尽管我没有使用它 - 只是试图提供其他替代方案)。

另一个选择是采用已经存在的Eclipse语法突出显示插件并为Sass和/或HAML添加语法突出显示。像Eclipse Colorer这样的东西可能值得研究。

答案 3 :(得分:1)

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

答案 4 :(得分:1)

我在Igor的回答中发现Colorer插件很有趣,但我使用.scss文件扩展,它只适用于.sass文件。以下是如何使其支持.scss文件扩展名:

首先正常安装插件。在Eclipse的“帮助”菜单中选择Install New software,然后添加以下存储库:http://colorer.sf.net/eclipsecolorer。现在选择此存储库,您应该看到Eclipse Colorer安装选项。没有拖动安装选项AFAIK。

安装完成后,在Eclipse的插件目录中转到Colorer插件文件夹。在我的情况下,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的文件夹中运行以下命令以重新创建jar文件:

jar cf common.jar *

然后用这个替换原始的jar文件。

其他文件

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

扩展=&#34; 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,SGM,SGML,SHTM,SHTML&#34;

最后,重复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文件突出显示语法。

答案 5 :(得分:1)

Aptana给我带来了太多问题,所以经过大量的搜索(发现这个帖子),我找到了 LiClipseText(https://marketplace.eclipse.org/content/liclipsetext

这是一个插件,为SASS / SCSS文件提供语法突出显示等功能。它似乎工作,并具有“语法高亮(LiClipse,TextMate或SublimeText)”所以可能是相当可配置的(我没有玩过很多,但基本的语法高亮功能对我有用,这不仅仅是Eclipse WST CSS编辑器可以为SCSS文件做。)

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