Hatena::ブログ(Diary)

日記

2012-10-08

Windowsでシンボリックリンクを使っているときに設定ファイルがリロードされない

Sublime Text 2 の設定ファイル(Preferences.sublime-settingsなど)は、保存したタイミングでリロードされるはずですが、リロードされなくなっていて、原因を調べていたら、シンボリックリンクを使っているのが問題だとわかりました。

私は設定を他のPCと共有するために、Dropboxに作ったUserディレクトリに設定ファイルを入れて、シンボリックリンクでUserディレクトリへのリンクを

C:\Users\(ユーザー名)\AppData\Roaming\Sublime Text 2\Packages\User

に作成していました。

これを行うには、管理者権限でコマンドプロンプトを起動し、以下のmklinkを使用して以下のようにします。

C:\Windows\system32>mklink /d "C:\Users\(ユーザー名)\AppData\Roaming\Sublime Text 2\Packages\User" (DropboxのUserディレクトリ)

これで設定は共有出来るようになりますが、前述のとおりリロードされません。これは、ディレクトリの実体が Sublime Text 2\Packages の方にあれば問題なくリロードできるようです。なのでDropbox側にUserディレクトリを作るのではなく、Packages以下に元々存在するUserディレクトリへのリンクを貼るようにします。つまり、このようにリンクの方向を逆にします。

C:\Windows\system32>mklink /d (DropboxのUserディレクトリ) "C:\Users\(ユーザー名)\AppData\Roaming\Sublime Text 2\Packages\User"

これで問題なくリロードできるようになりました。

参考情報

no title

2012/10/18 追記

上記2番目の方法でリンクすると、今度はDropboxが同期してくれなくなってしまいました。(参考: http://loveskate.com/wp/?p=648)

Sublime Text 2 と Dropbox はどちらもファイルの監視を行うので、ファイルの実体がある方しか更新が検知されません。あちらを立てればこちらが立たずの状態になってしまいました。どうすればいいのやら。

Connection: close