我发现Igor的回答中的Colorer插件很有趣,但我使用.scss文件扩展名,而它只适用于.sass文件。以下是使其支持.scss文件扩展名的方法:
首先按照正常方式安装插件。在Eclipse的帮助菜单中选择安装新软件
,并添加以下存储库:http://colorer.sf.net/eclipsecolorer
。现在选择此存储库,您应该看到Eclipse Colorer安装选项。据我所知,没有拖放安装选项。
安装后,进入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">
<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="/[\(\)'"]/" region='def:Symbol'/>
<regexp match="/\/\/.*$/" region='def:Comment'/>
<regexp match="/\@(import|extend|mixin)/" region='def:Keyword'/>
</scheme>
</type>
</hrc>
在提取common.jar的文件夹中运行以下命令以重新创建jar文件:
jar cf common.jar *
然后用这个文件替换原始的jar文件。
其他文件
现在,在/plugin.xml
的第37行中包括scss扩展名:
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"
最后,在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文件获得语法高亮显示。