Windows 10 Home + IntelliJ IDEA Ultimate 14.1.7
Linuxサーバー上のファイルをWindowsで同期編集する時、サーバーの同一フォルダに「xxx.jpg」「XXX.JPG」などファイル名の大小文字が違うだけのファイルがあると、IntelliJ で同期した時に「ローカルファイル上書きされます」とか警告が出て面倒くさい。
- ①Windows Subsystem for Linux (WSL) を有効にする
-
スタートメニュー > 設定 > アプリと機能 > プログラムと機能 > Windowsの機能の有効化または無効化
※要システム再起動 - ②IntelliJ プロジェクトフォルダ+文字ケース問題のあるフォルダを設定変更
-
コマンドプロンプト
>fsutil file setCaseSensitiveInfo C:\Users\user\Projects enable ディレクトリ C:\Users\user\Projects の大文字と小文字を区別する属性が有効になっています。 >fsutil file setCaseSensitiveInfo C:\Users\user\Projects\xxx enable ディレクトリ C:\Users\user\Projects\xxx の大文字と小文字を区別する属性が有効になっています。 >fsutil file setCaseSensitiveInfo C:\Users\user\Projects\xxx\yyy enable ディレクトリ C:\Users\user\Projects\xxx\yyy の大文字と小文字を区別する属性が有効になっています。 :
- ③IntelliJ 設定変更
-
(IntelliJ IDEAインストールフォルダ)\bin\idea.propertiesidea.case.sensitive.fs=true
- ④IntelliJ キャッシュ削除
- File > Invalidate Caches / Restart…
⇛ IntelliJ IDEA でファイル名の大小文字を区別する設定[Custom Properties]
なお、fsutil でフォルダの設定を変えていない場合 IntelliJ 起動後に警告が出る。
Filesystem Case-Sensitivity Mismatch
https://confluence.jetbrains.com/display/IDEADEV/Filesystem+Case-Sensitivity+Mismatch
ちなみに setCaseSensitiveInfo の状態を調べるだけなら queryCaseSensitiveInfo。
>fsutil file queryCaseSensitiveInfo フォルダ