Komodo 5.2.0a1が不思議すぎる件。2009年09月04日 03時58分25秒

別にここんとこサボってた埋め合わせってんでもないけど、本日2本目のネタ。

アップデートチェックのナゾ

なんかね、会社のメインPCでKomodo Editのアップデートチェックがね、「5.2.0 Alpha 1見っけた」とか言ってきたんですよ。

リリースノート見てると、パフォーマンスがよくなった風味な記述があるので使ってみたいんだけど、なにをいうにもアルファ版、あんまり環境壊したくないのでサブ用途で使ってるノートPCのほうにでも入れてみるかと思って、そっちで[Help] - [Check for Updates...]してみたら、こっちでは「5.1.4見っけた」とか言うんですよ。5.1.4は現在の最新安定版ね。

ノートPCのほうは更新サボってて5.1.3のまんまだもんで、「あー、5.1.4入れないと5.2入れらんないのかしら」とか思って、いったん進められるがままに5.1.4にアップデートしてからもう一度チェックしてみたら、今度は「アップデートなぞ、見つからん」とかそっけない。

うん、さっぱり意味わからん。

そんでも試してみたいよなぁ、

と思うのが、人情。しょうことなしに手動ダウンロード→インストールを試みるべくここから.msi落としてインストールしてみたわけです。

で、起動してみると、「Platform version ‘1.9.0.11’ is not compatible」なんてエラーがでて、メインウィンドウすら表示されない。なんでもmaxVersionが「1.9.0.6pre」になってるので、ってのが原因みたい。しかし、いくらアルファ版とはいえ起動すらできないってのはイマドキどうよ。インストールはできたのに。

それでも、それでも試して見たいよなぁ、

とか思い込んじゃったのでエラーメッセージを元に検索したところこんな記事が見つかった。

これはFirefoxでの事例らしいんだけど、なんかapplication.iniとやらにくだんの「maxVersion」やらの設定があるらしいので、インストールディレクトリから探してみたら [インストールdir]/lib/mozilla/application.ini があって、これに確かに「1.9.0.6pre」との記述を発見。

よっしゃ、これを「1.9.0.11」とかにでっち上げればいいんだろ、と思ってやって見た。さて、起動。

...orz

今度はね、見事にメインウィンドウが表示されたんですよ。ちゃんと設定ファイルも引き継いでるので、Recent Projectsとかツールボックスとかもそのまんま残ってるんですよ。こうなると、正常だと思うじゃないですか。

ところがね、プロジェクトからファイル開いてみたらね、「Komodo was unable to open the file」だって。これ、「Open Komodoがどうにも使えない件」でさんざっぱら見かけたメッセージじゃん。なんだよ、それ。orz

うすうす無駄とは知りながら、[File] - [Open...] - [File]から開いてみたり、違うエンコードのファイル開いてみたりと悪あがきしたものの、やっぱりエラー。

かろうじて[File] - [New] - [New File...]ではエディタウィンドウが表示されるところまでたどり着けたんだけど、なんだかviエミュレーションが動いてない。なんだよ、それ。orz

そんでも、エディタ部分をクリックしたらviエミュレーションが動き出したので、適当に文字入力を試したら、こんどは Ctrl + H(バックスペースの機能を割り当てて使ってる)した途端に見事クラッシュ。いまどきキー入力ごときでアプリケーションクラッシュて。orz

結論:使えねー

そういやpreference画面でもフォント名の表示が消し飛んでたり、構文強調設定のプレビューでコードがまったく表示されてなかったり、どうもOpen Komodo立ち上げ直後みたいに、マルチバイト言語への対応が著しく悪い感じ。

まぁ、まだ最初のアルファ版だし、無償で使わせてもらってるしで仕方ないっちゃそうなんだけど、とりあえず使えん状態ですな。

それにしても、a1が7/31リリースなのでもう1ヶ月以上経ってるんですが、a2はまだなんだろか。

Latin-1撲滅マクロ改変2008年11月04日 03時51分07秒

Komodo EditでSJISファイルをSJISファイルとして開くマクロだが、試してみたらプロジェクトマクロじゃなくてToolboxマクロでも動いた。当然ちゃ当然だが。

ほんでついでに推奨されないkomodoオブジェクトの使用をやめて、こんな風に手を入れてみた。

if( ! ko.views.manager.currentView.document ) return;

var doc = ko.views.manager.currentView.document;
if( doc.encoding.short_encoding_name == "Latin-1" ) {
	try {
		doc.setEncodingFromEncodingName( "CP932" );
	} catch(e) {
		ko.dialogs.alert( e );
	}
}

ま、「komodo.document」の代わりに「ko.views.manager.currentView.document」を使ってるだけで、あとは一切変わらないのだが。

てなわけで、パッケージにしてみたのでよかったらどうぞ。

zipアーカイブを解凍すると「Latin-1toCP932.kpz」が入ってます。んで、Toolboxの適当なフォルダを右クリック、[Import Package...]で解凍したkpzを選択。

うっとうしいことに展開するフォルダをたずねてくるので適当に選択するとインポートされます。内容的には上のソースまんまだから別にインポートしなくてもいいけど。

Komodoでアクティブなファイルを実行2008年10月30日 04時30分35秒

続けてKomodoネタ。しかも超コネタ。

HTAやWSH向けのJSファイルなんかだと、編集 → 起動 → また編集... てなサイクルで作業を行うんだけど、いままでいちいちエクスプローラに切り替えてから起動していた。これまた結構面倒くさくなってくるやり方だ。

なのでマクロかなにかで編集中のファイルをさくっと起動できないかとごにょごにょいじってて、さっきようやくできるようになった。非常に単純な話で、Tookboxにコマンド登録しときゃいいと。

具体的には、「New Command...」でコマンド登録ダイアログを呼び出し、「Command」欄に "%F" と登録する。変数「%F」を二重引用符でくくるのを忘れないように。

んでさらに「Run in」で「No Console (GUI Application)」を選択する。これで起動できるようになった。

ついでに「Key Binding」で F5 とかを設定しておくと、キー一発で現在アクティブなファイルをデフォルトアプリケーションで起動できるようになる(HTMLを編集中ならデフォルトブラウザ、とか)。うん、結構快適になったかも。

オマケ

これまたさっきようやく気づいたのだが、Ctlr + Page UP(またはPage Down)でタブフォーカス切り替えられるのね。

KomodoでLatin-1撲滅を試みる2008年10月30日 04時16分58秒

KomodoでHTAを書いてみようと思ったわけだが

仕事でちょっとしたツールが必要になったので、久々にHTAを書くことにした。

単純なJSやHTAなんかは大体サクラエディタでしこしこと書くのだが、バッチやら参照ディレクトリやらでちくっと複雑になりそうだったのでKomodoを使ってみることにした。

が、ちと困ったことが。Shift_JISのソースをKomodoで開くとなぜか「Latin-1」として検出されてしまい、こんな具合で表示されるのだ。

Latin-1化けすぎ

ほんとはこうなんだけど。

ほんとはSJIS

開くたび変更するのは面倒くさい

ドキュメントのプロパティでCP932に変更すればちゃんと表示されるんだけども恒久的に覚えてくれるわけじゃないので、ファイルを開くたびにちくちくと設定する必要があり、すごく面倒くさい。

なので、なにか手はないかと思って調べたら、どうやらKomodoのマクロはファイルを開くタイミングで起動することができるらしい。これでなんとかならんか。

で、マクロ書いてみた

先のリンクとかを参考に、こんなマクロを書いてみたわけだが。

if( ! komodo.document ) return;
var doc = komodo.document;
if( doc.encoding.short_encoding_name == "Latin-1" ) {
    try {
        doc.setEncodingFromEncodingName( "CP932" );
    } catch(e) {
        ko.dialogs.alert( e );
    }
}
このマクロをとりあえずはプロジェクトに登録し、プロパティの「Triggers」で「after file open」を設定してみると、Latin-1として検出された場合のみCP932にエンコードを自動的に変更してくれる。あー、これでイライラせずにすむわ。

ちなみにCP932以外に設定したかったり、トリガになるエンコーディングをLatin-1以外にしたかったりしたら、使用したいエンコードのファイルをKomodoで開いて、以下のマクロで調べてみればよいかと。

if( ! komodo.document ) return;
ko.dialogs.alert( komodo.document.encoding.short_encoding_name );

あ、そういやマクロ中で使用している komodo オブジェクトは使用が推奨されていないそうな。なのでKomodoのバージョンがあがったら動かなくなる可能性なきにしもあらず。まぁ気にしない。

そういや、これToolboxに登録しても検出してくれるのかな?

KomodoのZFテンプレートが修正されていた件2008年08月04日 12時03分50秒

前にKomodo Edit取り上げた時に「これ、大丈夫なんかいや?」と思っていたZFのプロジェクトテンプレートのアクションコントローラのファイル名、現時点の最新版の4.4.1では修正されてたみたいね。 リリース直後(7/24だか25だか)に何も考えず更新してたんだけど、ここしばらくは既存プロジェクトのメンテナンスばっかりで新しいコントローラ追加してなかったから気づかなかったわ。

さっきちょっとテストアプリ作ってみようと思って新規コントローラ追加したら、ファイル名が普通に大文字から開始されてて、おや?と思って改めてリリースノート見たら、

Zend Framework: MVC project template fixes. (Bug 78464, 78163)
ってあって、Bug 78464を見に行ってみたら
controller files need to be capitalized, eg IndexController, not indexController
って、ちゃんとバグとして報告あがってたのね。よかった、よかった。