如何使intellij Idea正确地突出显示Scala脚本。
尝试1 将文件名更改为' test.sc' 。 Intellij不喜欢第一行,即它不是有效的scala注释语法
尝试2 将文件名更改为' test.sh' 。 Intellij认为所有语法都是bash脚本。
filenName = ./test.sh
#!/usr/bin/env amm
import ammonite.ops._ , ImplicitWd._
println("Stop script")
val x = 1 + 1
答案 0 :(得分:20)
如果你需要保留.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
现在,您的脚本已正确突出显示
JetBrains发布了关于支持Ammonite的blog article。
答案 1 :(得分:3)
如果您有.scala
扩展名,则IDEA会将其识别为有效的Scala脚本文件。
甚至支持多线shebang线:
#!/bin/sh
DIR=$(cd `dirname "${BASH_SOURCE[0]}"` && pwd)
exec scala -classpath $DIR/scalaj-http_2.11-2.3.0.jar -savecompiled "$0" "$@"
!#
/* Scala code*/
确保:
即使脚本位于声明的源文件夹之外,它仍然有效。 我甚至可以编辑项目之外的脚本。