対象者
JetBrainsのIDE(Pycharm PhpStorm WebStorm IntelliJ)を使用していて、プロジェクトフォルダのバックアップをとっているから問題なしと考えているあなた。
注:利用状況にもよりますが・・・
仕組み
あるべき姿としては、すべての設定がプロジェクトフォルダにあることです。しかしながら実際にはそうなっておらず、一部の設定情報はプロジェクトフォルダ外に保存されるようになっています。
JetBrainsのサポートにはこの件について「信じられないぐらい貧弱な設計」だと非難するコメントがされていました。
プロジェクトフォルダのバックアップのみでは情報が失われるもの
主なものとして
・レイアウト(ツールウィンドウの配置など)
・ブックマーク
・AIアシスタントの履歴
などがあげられます。
※ちなみにスクラッチファイルは、全プロジェクトで共通(共有)になっています。
完全なバックアップとるには
・プロジェクトフォルダ
・システム構成フォルダ(の中から必要なファイルを選択※1)
をバックアップする必要があります。
※1 JetBrainsでも把握しきれていないようですので自己責任でお願いします。
参考:https://intellij-support.jetbrains.com/hc/en-us/community/posts/360007607519-Where-are-bookmarks-stored-How-do-I-keep-them-if-I-copy-the-script-file-elsewhere-How-do-I-add-them-to-version-control-
「システム構成フォルダ」とは
WindowsのWebStorm2023.2の場合は、以下のようになります。
C:\Users\ [username] \AppData\Roaming\JetBrains\WebStorm2023.2\
Macなどの方はこちらから確認してください。
https://intellij-support.jetbrains.com/hc/en-us/articles/206544519
.idea/workspace.xml の役割
このファイルにある程度の設定情報が記載されているますが、実態はID管理され、システム構成フォルダ内のファイルを指す仕組みになっています。
このworkspace.xmlを削除してIDEを起動すれば、どういった情報がなくなっているか確認できると思います。※削除する前にバックアップを取っておきましょう。
もっと正確を期すなら、別端末へプロジェクトフォルダを持っていって実行するとよいでしょう(そういった環境があるのであればですが)。
結局なにをバックアップするか?
workspace情報としては、「システム構成フォルダ」内のworkspaceフォルダをバックアップするのがよいでしょう。
なお、これまでに作成(削除)したすべてのプロジェクトの設定が入っていますので、ピンポイントで設定ファイルをバックアップしたい場合は、.idea/workspace.xmlを解析して該当ファイルを探す必要があります。
グローバル設定としては、以下のものがあげられます。
「システム構成フォルダ」内のoptionsフォルダ内にあります。
ウィンドウ情報:window.state.xml
自分で設定保存したワークスペースレイアウト情報:window.layouts.xml
最後に一言
完全なバックアップを取るのは非常に難しく、またJetBrainsのサポート自体も把握しきれていないところが困ったものですね・・・