2017-03-16 3 views
8

どのようにしてintellij Ideaを作成し、Scalaスクリプトを正しく強調表示させるのですか?intellij Ideaを使ってScalaスクリプトを#で正しく強調表示させるにはどうすればよいですか? (シバン)

試み1 変更ファイル名'test.sc'へ。それは「test.sh」

試み2 変更ファイル名の有効なScalaのコメント構文ではありませんすなわちのIntelliJは、最初の行が好きではありません。 Intellijはすべての構文がbashスクリプトだと思っています。

filenName = ./test.sh

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

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

を強調している私たちは、アンモナイトスクリプトの未解決の問題を持っていますScala Worksheetsで使用されている拡張機能ですが、2つの枠が表示されています。 –

答えて

3

あなたが.scala拡張子を持っている場合は、IDEAは有効なScalaのスクリプトファイルとして認識します。 であっても複数行シェバングラインがサポートされています。

#!/bin/sh 
    DIR=$(cd `dirname "${BASH_SOURCE[0]}"` && pwd) 
    exec scala -classpath $DIR/scalaj-http_2.11-2.3.0.jar -savecompiled "$0" "[email protected]" 
!# 
/* Scala code*/ 

を確認してください:あなたはIDEAの比較的最近のバージョンを使用している

  • Scalaプラグインがインストールされています。
  • スクリプトはScalaモジュールにあります。

スクリプトが宣言されたソースフォルダの外にあっても機能します。 プロジェクト外のスクリプトを編集することもできます。

20

あなたはここに.sc拡張子を維持する必要がある場合は、まだvalid shebang

  • ある#! /usr/bin/env ammにちょっとしたトリック

    • 変更シェバングは、コンテンツに次のスクリプトに#!.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 
    
    https://youtrack.jetbrains.com/issue/SCL-10752
  • +0

    '.sc'も適切に強調表示されています:10

    は今、あなたのスクリプトが正しく

    enter image description here

    関連する問題