linux - 如何使 intellij Idea 使用 #! 正确突出显示 Scala 脚本? (shebang)

标签 linux scala intellij-idea syntax-highlighting ammonite

如何使 intellij Idea 正确突出显示 Scala 脚本。

尝试 1 将文件名更改为 'test.sc' 。 Intellij 不喜欢第一行,即它不是有效的 scala 注释语法

尝试 2 将文件名更改为 'test.sh' 。 Intellij 认为所有语法都是 bash 脚本。

文件名 = ./test.sh

#!/usr/bin/env amm
import ammonite.ops._ , ImplicitWd._

println("Stop script")
val x = 1 + 1

最佳答案

如果需要保留.sc扩展名这里有一个小技巧

  • 将 shebang 更改为 #!/usr/bin/env amm 仍然是 valid shebang

  • 将名为 #!.scala 的文件放在您的脚本旁边,内容为:

class CLZ {
  def /(that: CLZ): CLZ = this
  def amm: Unit = {}
}
object #! extends CLZ
object usr extends CLZ
object bin extends CLZ
object env extends CLZ

现在,您的脚本已正确突出显示

enter image description here

更新

JetBrains 发布了 blog article关于对 Ammonite 的支持。

关于linux - 如何使 intellij Idea 使用 #! 正确突出显示 Scala 脚本? (shebang),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42831593/

相关文章:

eclipse - 如何在 Web 服务器上运行 Scala 文件

algorithm - 代码的出现 2016 : Day 1

algorithm - Scala:测试阵列中等间隔频率的惯用方法是什么?

java - Intellij 不尊重 build.sbt 中的某些选项

python - 如何在没有 pyinstaller 的情况下使用 "./"创建 python 可执行文件

linux - 当我通过 expect 使用 scp 命令时,星号无法识别

linux - 链接器中的 ATTiny 和 Linux AVR-GCC 中断复位向量

linux - 在 Linux 中,如何从终端在文件夹内创建文件夹?

java - 如果从启动器运行,Vertx 重新部署功能无法调试

java - 有没有clojure IDE可以帮助自动补全Java对象的方法?