.tm_properties vol2
.tm_properties の続き (include, exclude)
なかなか良い見本があった
My Textmate 2 .tm_properties — Gist
前回同様ここも参考
Textmate 2 Tips • List of settings
自分の ~/.tm_properties の内容(結論)
主にRailsプロジェクトのための設定
fontSize = 13 tabSize = 2 softTabs = true showInvisibles = true myExtraIncludes = ".tm_properties,.htaccess,.gitignore,.autotest,.rvmrc" fileBrowserGlob = "{*,$myExtraIncludes}" include = "{$include,$myExtraIncludes}" myExtraExcludes = "log,tmp,*sqlite3,.DS_Store" excludeInFileChooser = "{$excludeInFileChooser,$myExtraExcludes}" excludeInFolderSearch = "{$excludeInFolderSearch,$myExtraExcludes}"
~/.tm_properties の設定実験
実際に include/exclude などが何を意味するかを実験
exclude 実験1 (デフォルト)
デフォルトの状態だと
Railsのプロジェクトで実験
$ echo "hoge" > log/hoge.log $ mate .
⌘⇧F 検索 "hoge" FindAll
デフォルトでは log の内容は検索対象となっている
logが数百メガくらいになるとTextMateがフリーズする可能性がある
exclude 実験2 (excludeInFolderSearch)
mkdir -p lib/log echo "hoge" > lib/log/hoge2.txt
.tm_properties
myExtraExcludes = "log" excludeInFolderSearch = "{$excludeInFolderSearch,$myExtraExcludes}"
⌘⇧F 検索 "hoge" FindAll
検索結果なし
log 以下のファイルは(lib/log以下も)検索対象から外れた
exclude 実験3 (excludeInFileChooser)
excludeInFileChooser についていろいろやってみましたが特に変化は無かった
なので気にしない
excludeInFolderSearch と同じ設定で良いかと思われる
まだ実装されていない可能性も考えられる
いずれの設定も左のプロジェクトツリーを表示しているDrawerからはexcludeされなかった
exclude 実験4 (exclude)
myExtraExcludes = "log" exclude = "{$exclude,$myExtraExcludes}"
プロジェクトツリーから消える
Gistのサンプルにあるように excludeInBrowser でもいいかも
exclude 実験5 (*)
正規表現 l*
myExtraExcludes = "l*,tmp" exclude = "{$exclude,$myExtraExcludes}"
logもlibもtmpもプロジェクトツリーから消えた
exclude sqlite3
その他重要な点として
デフォルトでは .sqlite3 も検索対象に含まれていて、パフォーマンスが落ちる
myExtraExcludes = "log,tmp,*sqlite3"
で対象から外れた
その他
includeも似たようなものと思ったが、あまりつっこんでやっても特に得しないのでやめとく
includeとexcludeの順番でも結果は変わるかもしれない
.gitignoreなどのドットファイルについては
myExtraIncludes = ".tm_properties,.htaccess,.gitignore" fileBrowserGlob = "{*,$myExtraIncludes}" include = "{$include,$myExtraIncludes}"
をまねするのが無難か
showInvisibles
showInvisibles = true
が最初何を意味するのか分からなかった*1
showInvisibles はスペースやタブや改行文字をうっすらと表示するか、しないかの設定
まとめ
- とにかく log, sqlite3 は外すべき
- 検索から外す excludeInFolderSearch = "{$excludeInFolderSearch,$myExtraExcludes}"
- プロジェクトツリーから外す exclude = "{$exclude,$myExtraExcludes}"
- ファイルなど追加 include = "{$include,$myExtraIncludes}"
- *使える myExtraExcludes = "log,tmp,*sqlite3"
知らない拡張子とか、encodingとかでファイル開いたときに
アラートとか出ることあるからそのときに
include/exclude, encodingとか何か設定すると良いかもしれない