スポンサーリンク

[PHPStorm] プロジェクト外のファイル・フォルダを参照する

使い始めて間もないので、この方法があっているかわかりません

複数のプロジェクトで共有したいファイル・フォルダがある場合、二種類の方法があります。

  • External Librariesに追加する。
  • シンボリックファイルを利用する。

External Librariesへ追加する

1つ目のライブラリに追加する方法ですが、フォルダ・ファイルの新規作成および編集が可能です。ただ、JavaScriptのファイルはロックがかかり編集ができません。他のアプリケーションで編集しても、キャッシュされているのか内容が更新されません。その時は、メニューからSynchronize ファイル名を実行すれば更新され、修正部分も参照可能となります。確認したところPHP、TXT,HTMLはそのまま編集できました。

ライブラリへの追加方法

PreferencesでSetting dialogを表示させ、Project SettingsのPHPをクリックするとInclude Pathの設定を行えます。または、ファイルブラウザでExternal Librariesのコンテキストメニューにある、Configure PHP Include athsから設定出来ます。どちらでも、参照したいパスを追加するだけです。

シンボリックリンクを利用する

参照したいフォルダ・ファイルのシンボリックリンクを作成して、プロジェクトに追加すれば特に制限なくフォルダ・ファイルの操作ができます。ただ、シンボリックリンクではなく、エイリアスだとエイリアスファイル自体が開かれてしまいます。エイリアスに対応したアプリケーションもありますが、PHPStormでエイリアスは使用できませんでした。

エイリアス(フォルダ)を開こうとしても・・・

関連付けされてないよ、と怒られます。

うっかり開こうものなら

うわわわわ

シンボリックリンクの作成方法

ターミナルでln -sで作成してもいいのですが、コンテキストメニューに”シンボリックリンクを作成する”を追加するSymbolicLinkerを利用しています。更新が止まっているようですがLion 10.7.5では動作しました、

SymbolicLinker 2.0v3

http://seiryu.home.comcast.net/~seiryu/symboliclinker.html

Macのシンボリックリンクとエイリアス

- エイリアス シンボリックリンク ハードリンク
元ファイルの移動 ×
元ファイルの削除 × ×
リンクの移動 ×(絶対パスは○)
元ファイルを消して新たなファイルを作成 ×
ディレクトリへのリンク ×
UNIXコマンド(cd/cp/find等)対応 ×

シンボリックリンクは、ファイル名へのパス(絶対、相対を選択可)参照を新たに作成します。シンボリックリンクを削除しても元のファイルが消えることはありませんが、ファイルを消したり、移動したりするとシンボリックリンクがファイルを参照できなくなります。Finder から作成するエイリアスは、シンボリックリンクの要素が強いですが、ファイルの移動を追跡できるなどより柔軟な構造になっています。

MacWiki - UNIXの基本コマンド ハードリングとシンボリックリンクの違い

<http://macwiki.sourceforge.jp/wiki/index.php/UNIX%E3%81%AE%E5%9F%BA%E6%9C%AC%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89>

まとめ

編集できるとはいえ、ライブラリに追加したファイルを触るのは問題が生じそうですので、シンボリックリンクで対応するのが普通でしょうか。シンボリックリンクを追加した状態で、FTPのリモート同期がどうなるかは未確認です。

そういえばjetbrainのWeb HelpがPhpStorm 7.0.0になってますね、そろそろバージョンが上がるのでしょうか?