40

是否有任何 Eclipse 插件可以添加语法突出显示和其他用于编辑HamlSass的细节?谷歌搜索似乎只指向lucky-dip.net 上的一个死项目

注意:我最感兴趣的是 Sass。在 Eclipse 中仅使用 Sass(或类似的东西,如less)的解决方案将适合我的需要。

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


更新:所以我现在使用Pascal 的答案来突出显示语法,并且我已经安装了RubyCompass来将 sass 编译成 css。

但是我知道sass 的语法将随着 2.4 的变化而改变,所以我仍然希望 Aptana 附带的 Haml 和 Sass 编辑器能够正常工作。当我尝试使用它们时,它们抛出异常并且不会显示文件。我很想知道这是因为我错误配置了 Aptana 还是编辑器中的实际错误。

我也对任何编译与 Ecplise 集成的 Sass 的方式非常感兴趣,这样我就不必运行与它分开的东西。(或将 Sass/Compass 放入 Ecpise 构建过程的一种方式。)

4

6 回答 6

28

那么,Aptana呢?根据Aptana/Eclipse博客文章中的 Haml/Saas Syntax Highlighting:

最近,我在一些 Rails 项目中使用了Haml 。它只是使您的视图清晰易读。我遇到的一个问题是在我最喜欢的 IDE Aptana Studio中突出显示语法。Haml语法高亮支持已在不久前停止,并且在 Aptana 最近更新后引发了更多问题。

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

  1. 将以下文件下载到您的硬盘:>
  2. Aptana Eclipse“窗口”菜单中,选择“首选项...”
  3. 在首选项窗口中,选择“编辑器”>“通用文本”
  4. 按“添加...”添加新的文件扩展名:*.haml*.sass
  5. 对于每个新扩展,单击它并按“浏览...”以选择正确的词法分析器文件 ( *.lxr)
  6. 对于着色,按“导入...”导入*.col文件
  7. 按“确定”
  8. 欣赏哈姆尔的景色

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

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

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


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

于 2009-10-02T14:41:34.620 回答
11

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

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

于 2010-05-27T04:55:33.100 回答
1

我知道这是一个老问题,但对于像我这样刚接触 SASS 和 Compass 的人来说,我刚刚安装了 Aptana Studio 3,它现在支持 .scss、.sass 和 .haml。享受。

于 2012-05-22T19:43:18.033 回答
1

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

另一种选择是采用现有的 Eclipse 语法高亮插件并为 Sass 和/或 HAML 添加语法高亮。像Eclipse Colorer这样的东西可能值得研究。

于 2009-10-02T16:16:30.977 回答
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
  • 着色器/hrc/proto.hrc
  • /plugin.xml

在执行以下任何操作之前,请备份文件夹中的所有文件,以便在出现任何问题时恢复它们。

修改 common.jar

将 common.jar 提取到一个空文件夹。这是作为任何普通的 tar.gz 文件完成的。提取后,您必须修改其中的 2 个文件:

复制第 53 和 53 行inet/haml.hrc并将其更改为 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.hrcinet/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文件。

其它文件

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

extensions="xml,xsd,xsl,dtd,hrc,hrd,html,htm,xhtml,rhtml,erb,yml,haml,sass,scss,css,asp,aspx,jsp,fo,svg,dbk,docbook,jhtml ,jspf,php,php3,php4,phtml,sgm,sgml,shtm,shtml"

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

<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 文件的语法突出显示。

于 2016-06-02T17:44:58.220 回答
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 )的开源编辑器组件。

于 2016-06-14T11:09:05.600 回答