如何强制Intellij突出显示没有扩展名为Bash的文件?

时间:2014-02-06 23:06:23

标签: intellij-idea

我正在使用Intellij IDEA 12 Ultimate编辑Linux init.d脚本,并希望它使用Bash语法高亮显示。我已经有了Bash语法高亮插件,它适用于以.sh结尾的文件。 init.d脚本的问题是它们没有扩展名,似乎让Intellij识别文件类型(首选项 - >文件类型 - >注册模式)的唯一方法是扩展。如果注册模式支持的路径(如*/etc/rc.d/init.d/*)会膨胀,但似乎不起作用。

我现在发现的唯一解决方法是将我要编辑的每个脚本的名称添加到已注册的模式中。总比没有好,但有没有更好的方法呢?谢谢!

7 个答案:

答案 0 :(得分:17)

您可以使用*.模式。虽然它默认注册为Text files类型。

答案 1 :(得分:9)

最简单的方法:

  • 安装IntelliJ的BashSupport插件
  • 右键单击要突出显示的文件
  • 选择“与文件类型关联”
  • 选择“Bourne Again Shell”

所有类似的文件都会被识别为bash。

答案 2 :(得分:5)

使IntelliJ识别没有扩展名的文件[即install]作为bash文件:

  1. 创建文件install.bash - 创建IntelliJ后,将识别这两个文件install& install.bash作为bash文件
  2. 现在删除install.bash文件。
  3. 文件install仍标记为bash文件。
  4. 这对我有用(IntelliJ Idea 15),即使重启IntelliJ后所有文件都被标记为bash文件..

    IntelliJ 2016更新:

    添加shebang行#!/usr/bin/env bash可以识别没有.sh扩展名的文件

答案 3 :(得分:5)

如果您以前在IntelliJ中注册了一个文件(例如,在您最初创建文件时),该文件应该被解释为Text,这会将您的文件添加到首选项中Text的默认映射中。如果您打算将文件创建为Bourne Again Shell(也称为bash),那么此时只需告诉IntelliJ您的意图。否则,在这些文件显示给Bourne Again Shell之前,您需要手动从首选项中删除这些自定义映射。 Preferences - Editor - File Types - Text

答案 4 :(得分:3)

BashSupport插件工作,但在shebang之后它无法处理空格。

#!/usr/bin/env bash

不是

#! /usr/bin/env bash

答案 5 :(得分:2)

任何遇到此问题的人的更新。

自最新版本(2018.2.6)起,Intellij带有“与文件类型关联”,用于不带扩展名的文件。只需在项目中的文件上单击鼠标右键,如果文件没有扩展名,则该选项应作为new下的第二个选项可用。只是不要单击得太快,因为一旦做出选择,关联选项就会消失。

发现此问题试图弄清楚如何在没有扩展名的情况下关联JS文件。

答案 6 :(得分:1)

对于遇到这个旧问题的其他人来说,IntelliJ的BashSupport插件将开箱即用。