
2008/02/27 00:10
skEdit 4.0.2 レポート (1)

skEdit 4.0系が、skEdit 4.0.2にアップデートしたことで、基本的な機能がskEdit 3.6.xと同等となったので使用を始めた。そのレポートというか、何というか、気になったところを書いていく。公開が遅くなってしまい、申し訳ない。。
検索
一般的なテキストエディタの正規表現に慣れ親しんだ人にとって、skEditの正規表現の解釈が気になって仕方がないと思う。正規表現は効率を向上させるために、“ある程度は”習得すべきスキルだと感じている。
例えば、行末に続く半角スペースを検索する場合、正規表現を使わない限り「すべてを置換」することは不可能だろう。そして、新人が<a href=./sitemap.html>などと"をすべて省略した形でマークアップしてしまった場合、力業で検索・置換を繰り返すより、正規表現を使用したほうが早い。
正規表現の利点はGoogleで検索すればいいので、skEditで正規表現を扱う上で理解しなければならないことを挙げる。([0-9]+)などで検索した場合、()で取得した文字列は(1)で展開する。\1ではない。(1)(2)(3)...と続いていく。また、skEdit3.6系では1つのファイルを1行として認識していたため、^や$が使えなかった(と思う)が、skEdit4.0系では修正されたようだ。
サイト内検索とシングルファイル検索が完全に分離
cmd+Fでは「Single File Find」、cmd+shift+Fでは「Multi-File Find」になる。

シングルファイル検索(Single File Find)、つまり開いているファイルのみの検索は以前のバージョンまでとほとんど変化はない。癖のある正規表現も使用できるし、大文字小文字の区別、ドキュメント全体・選択範囲のみの設定、数行にわたる検索・置換が可能である。ここで、[Find All]ボタンを押すとマルチファイル検索のウィンドウが開く(不思議な感覚)。

マルチファイル検索(Multi-File Find)は、skEdit4.0系からの新しいウィンドウが現れる。ただし、サイト内検索という機能は存在していた(skEdit3.6系ではあまりにも不安定でつかいものにならなかったが)。新しいウィンドウでは、「Current File」「Current Site」「Open File」の3つのマルチファイル検索先を選ぶ事が可能になっている。Current Fileとシングルファイル検索の違いがいまいち分からないが、マルチファイル検索では検索結果をプレビューすることが出来る。そういう意味で、シングルファイル検索[Find All]ボタンを押すとこのCurrent Fileモードで検索されるのだろう(不思議な感覚2)。これはこれでとても有効だろう。ただし、一覧が表示され、該当箇所を表示したく検索結果を選択すると、変な箇所が表示される場合がある。そのため「どこ?」という不快感も感じる場合がある。
以前からあったCurrent Site(サイト内検索)はかなりスピードが向上しているように感じた。視覚的に表示させているのでそう感じるだけかもしれないが。Open Fileは、タブでどんどん開けるので、その開いているファイルのみの検索だろう。
マルチファイル検索では、1行のみしか入力出来ないようにみえるが、ここに無理矢理数行に渡るテキストをペーストしてしっかり動作するか試したところ、プレビューのみがおかしく表示されるが、置換はうまくいった。とりあえず、問題ないようである。そうは言っても責任は取れない。
SCM(Subversion)について

僕の使用するSCMはSubversionなため、CVSなどに関しては不明。skEdit3.6系ではプラグインが必要だったが、skEdit4.0系はプラグインは必要なし。コマンドや外部ツール(僕はsvnXと言うソフトを利用)でチェックアウトしてきたファイルがたくさんのディレクトリを開くとバージョン管理が有効になった状態で開くことが出来る。この辺はskEdit3.6系と変わらない。

そしてメニューもちょっとだけではあるが変更になった。skEdit3.6系では動作が微妙だった[Refresh SCM Status]は全ディレクトリのStatusを更新している気がする。なのでちょっと便利。skEdit3.6系ではコミットのコメントに日本語が使用できないので、コミットは基本的にsvnXでまとめて行っていた。ちまちまするとリビジョンが増えまくってウザイから・・・。(そうするべきなんだろうけど・・・。)skEdit4.0系でコミットのコメントで日本語が通るかは試してないので不明。
一つ気になることがあって、skEdit4.0系では、PROJECTNAME.skprojというファイルが出来る。サイト管理に使われる設定ファイルのようなもののようだ。作者は
skEdit previously stored the project settings in a .skEdit file in the root project directory. I moved to using an explicit file so that it could be more easily tracked by SCM software. However, I will likely add a way in a future release to collect the .skproj files into a central location rather than having them in each project.
と言っているが、僕の英語力は稚拙なのでいまいちよくわからない。たぶんプロジェクトごとに設定ファイルを持っていた方が移動するときとか楽でしょ?みたいな感じだろうか。とりあえず、このファイルをコミットすべきなのかしないべきなのか悩むところ。(僕はしてない
コード折りたたみ機能
この機能が満足に動作すればかなり使い勝手は向上するのだが、まだまだ成熟しきっていない。と言うのも、目視のためだけにしか使えないと言っても過言ではない。

上記のようなセクションが続き、このセクションを<div class="section">XXX</div>で囲いたくなるのが正しい感性だと思う。(いや、前後関係にもよるでしょうけど、一般的にね)
まず、ulをたたんだほうがスクロールも少なくなるし、インデントも確認しやすいと言うことで、たたみます。

かなりスマート。で、<div class="section">XXX</div>で囲む前に、インデントを一段下げなくちゃです。

この状態で、広げてみると・・・

激しくダメな感じ・・・(;
折りたたんでからインデントを付けてもダメなんですねー・・・。ダメというか、1行目にしかつきません。これでは、折りたたんでも編集できないからダメダメなんですよ。
上の流れはそのバグ(仕様?)を見せるためでした。僕は<div class="section">XXX</div>で囲むことは、もう何度も何度もやっているので、Snippetsに入れてしまっているので、囲んだあとでインデントを付けています。

この状態から、囲みたい部分を選択し、

該当のSnippetを選択すると、

一見うまくいったのかぁ、、と思うんだけど、たたんだ中身が消え去ってしまいました。Snippetを使わずに手打ちで<div class="section">XXX</div>と書いた場合は問題ないようです(当たり前です)。この仕様ではSnippetsの良さが半減どころか・・・。つまり、折りたたみ機能はバリバリ使えるようになるまでほど遠い感じです。(この辺りは、Dreamweaverはどうなんですかね、使ったことないので誰か教えてください)
あと、折りたたんだ状態で、置換を行うといちいち展開されて迷惑です。
Project Viewでファイル名を変更する
skEdit3.6系でも出来ていたのかもしれないが、使っていて見つけた。[option(alt)]を押しながら、ファイルをクリックするとファイル名が変更できる状態になる。これで、いちいち右クリック→ファイル名の変更をせずにすむ。
skEdit 4.0.2 レポート (1)について
(1)と書いたからには(2)があるのだが、次回に関しては一文字も書いていないので、どうなるのかはわからない。しかし、まだまだ書くべき事がありそうなので(1)とした。
期待せずに、(2)に続く。
- 関連するエントリー
- skEdit
- skEdit v4.1
- skEdit 4.0.2 レポート (1)
- 再現性100%のskEdit 4.0.2のバグ
- skEdit 4.0.2 短評
- skEdit 4.0 ついにリリース!!
- skEdit v3.6.3リリース
- skEdit v3.6.2リリース
- skEdit Update
- skEdit コードナビゲータ(Code Navigator)を有効に使う
- skEdit 4.0 beta8
- skEdit 4.0 beta6
- skEdit + autoreload (下書きエントリー)
- どこかでみつけたskEditのうんちく。
- skEdit + SCM(Subversion)
- skEdit 4.0のリリースが近づいています!
- skEdit 3.6 リリース
- 前後のエントリー
- Old: links for 2008-02-26
- New: links for 2008-02-28

