戦略 Scala 日記

素人プログラマの思考のセンス

IntelliJでScalaのシンタックスハイライト、サジェストがおかしいときに疑うこと

IntelliJ IDEAのシステムキャッシュを削除してみる

システムキャッシュの問題でシンタックスハイライトが正常に動作しない現象もまれに起こるため、まずはこれを疑ってみます。

メインメニューからFile | Invalidate Caches/Restartを選択し、表示されるタイアログのInvalidate Caches and Restartを選択します。

Cleaning System Cache

JDKのバージョンを疑ってみる

Project Structureで設定しているJDKと、JAVA_HOMEに指定しているJDKのバージョンが違う可能性があります。

例えば、明示的にJDK1.7を使いたい場合の設定は下記のようになります。

Project Structureに設定されているJDKの確認方法は、メインメニューからFile | Project Structureを選択し(もしくはCmd+;)、Project Settingを表示します。

ここではbrew caskJavaをインストールしている前提で解説します。

brew cask install java7でインストールした、JDK/Library/Java/JavaVirtualMachines/jdk1.7.0_72.jdk/にインストールされています。

これに合わせて、~/.bash_profileJAVA_HOMEを設定します。

$ echo 'export JAVA_HOME=`/usr/libexec/java_home -v 1.7.0_72`' >> .bash_profile

.bash_profileを読み直すと、java -versionでバージョンが変わっていることがわかります。

$ source ~/.bash_profile
$ java -version
java version "1.7.0_72"
Java(TM) SE Runtime Environment (build 1.7.0_72-b14)
Java HotSpot(TM) 64-Bit Server VM (build 24.72-b04, mixed mode)

Javaのバージョンの変更が終わったら、前述の手順のとおりに、IntelliJ IDEAのシステムキャッシュを削除し再起動すると、シンタックスハイライトが正常に動作しているはずです。

ScalaのGlobal Librariesは最新か

Project Structureに設定されているJDKの確認方法は、メインメニューからFile | Project Structureを選択し(もしくはCmd+;)、Platform SettingsのGlobal Librariesを表示します。

scala-sdk-2.11.6の用に最新のものが用意されていない場合は、+マークから追加をします。

.ivy/cacheを削除

SBTを利用している場合、~/.ivy2/cacheいかに、パッケージのキャッシュが展開されます。 これが原因となることは、今回のようなケースではあまり考えられませんが.ivy2/cache/org.scala-lang以下のキャッシュがなんらか問題に関わっているケースもあるかもしれません。