在Notepad ++中是否可以将文件扩展名与其中的点相关联?

时间:2013-11-16 14:00:22

标签: ruby-on-rails notepad++ erb

我真的想要关联各种.erb文件类型。我希望能够将.css.erb.scss.erb与CSS相关联,将.html.erb与HTML相关联,并将.js.erb与JavaScript相关联。将所有.erb文件与HTML相关联对于HTML文件本身来说很好,但它对JavaScript,CSS或SCSS不起作用。

我已尝试在样式配置器对话框的“用户分机:”框中添加css.erb等,但它似乎无法正确接收文件。

我怀疑这是可能的,因为我认为引擎匹配从文件名的最后.到结尾,而不是像filename.endswith(ext)这样的东西,但我认为值得询问是否有人找到了让它运作的方法。

有什么想法吗?

3 个答案:

答案 0 :(得分:1)

CSS and ERB File Extension Screencap 使用以下过程:

  • 打开新文件
  • 输入所需内容
  • 使用 File =>保存将其保存为所需的MIME类型,例如CSS的foo.css
  • 使用 File =>另存为将其再次保存为所需的ERB文件扩展名,例如foo.css.erb

使用Style Configurator后,我在安装Notepadd ++可执行文件的文件夹中的stylers.xml文件中有以下内容:

<LexerType ext="css.erb" desc="CSS" name="css">

<WordsStyle name="DEFAULT" fontSize="" fontStyle="0" fontName="" bgColor="FFFFFF" fgColor="000000" styleID="0"/>

<WordsStyle name="TAG" fontSize="" fontStyle="0" fontName="Batang" bgColor="FFFFFF" fgColor="0000FF" styleID="1"/>

<WordsStyle name="CLASS" fontSize="" fontStyle="0" fontName="" bgColor="FFFFFF" fgColor="FF0000" styleID="2"/>

<WordsStyle name="PSEUDOCLASS" fontSize="" fontStyle="1" fontName="" bgColor="FFFFFF" fgColor="FF8000" styleID="3"/>

<WordsStyle name="UNKNOWN_PSEUDOCLASS" fontSize="" fontStyle="0" fontName="" bgColor="FFFFFF" fgColor="FF8080" styleID="4"/>

<WordsStyle name="OPERATOR" fontSize="" fontStyle="1" fontName="" bgColor="FFFFFF" fgColor="000000" styleID="5"/>

<WordsStyle name="IDENTIFIER" fontSize="" fontStyle="1" fontName="" bgColor="FFFFFF" fgColor="8080C0" styleID="6" keywordClass="instre1"/>

<WordsStyle name="UNKNOWN_IDENTIFIER" fontSize="" fontStyle="0" fontName="" bgColor="FFFFFF" fgColor="000000" styleID="7"/>

<WordsStyle name="VALUE" fontSize="" fontStyle="1" fontName="" bgColor="FFFFFF" fgColor="000000" styleID="8"/>

<WordsStyle name="COMMENT" fontSize="" fontStyle="0" fontName="" bgColor="FFFFFF" fgColor="008000" styleID="9"/>

<WordsStyle name="ID" fontSize="" fontStyle="1" fontName="" bgColor="FFFFFF" fgColor="0080FF" styleID="10"/>

<WordsStyle name="IMPORTANT" fontSize="" fontStyle="1" fontName="" bgColor="FFFFFF" fgColor="FF0000" styleID="11"/>

<WordsStyle name="DIRECTIVE" fontSize="" fontStyle="0" fontName="" bgColor="FFFFFF" fgColor="0080FF" styleID="12"/>

</LexerType>

您可以通过从stylers.model.xml复制模型并按照模式为erb的每个变体添加更多内容。

<强>参考

答案 1 :(得分:1)

一般来说,这是不可能的(除非有人为它编写/已经编写了插件);输入的扩展名仅与您找到的最后一个点之后的文件名部分匹配。

因此,如果您输入包含点的扩展名,遗憾的是它与具有双扩展名的文件不匹配。但是输入的包含点的扩展名有一个单独的行为,在某种程度上可能有用:它们匹配整个文件名。

我在为 todo.txt format 使用用户定义语言时发现了这一点。用户定义的语言 specifies the extension as todo.txt,它确实匹配完全命名为 todo.txt 的文件。

我对您的问题很感兴趣,因为我希望其他文件也使用这种语言突出显示。例如。我将 done.txt 重命名为 done.todo.txt 并创建了 projects.todo.txt2021.todo.txt 之类的文件,希望它们能够使用 todo.txt 语言突出显示,但正如您所发现的,它没有工作。

但是由于我只有有限数量的这样的文件名,知道它可以匹配整个文件名仍然对我有帮助;我只是添加了额外的扩展,例如done.txtprojects.txt2021.todo.txt 等,用于我将使用的所有文件名。它仍然是一个笨拙的解决方案,我更喜欢一种方法来匹配所有以 .todo.txt 结尾的文件并相应地命名我的文件;但它现在有效,并且比每次重新打开文件时选择语言更好。 (我本可以删除 .txt 部分并使用 .todo 作为扩展名作为更简单的解决方案,但我想保留 .txt 以便其他程序继续将它们识别为文本文件。)

就您而言,此解决方案不太有用,因为您可能有无数以 .css.erb.html.erb 结尾的不同文件名。但是,如果有您经常处理的文件(currentproject.css.erb),或者有共同的文件名(例如 index.html.erb),那可能总比没有好。您可以只添加这些文件名中的每一个,这样您就可以避免至少在这些文件上手动选择语言。

答案 2 :(得分:-1)

在菜单栏中,转到设置&gt;样式配置器......

  • 在标有“语言:”的列表中,向下滚动到HTML。点击它
  • 在语言和风格列表下方,应该出现两个 fields:默认ext和用户ext。在User ext字段中输入'erb'。
  • 点击保存&amp;关闭