2011/02/15

TextareaConnect 〜 Chrome版 It's All Text

ChromeがFirefoxに劣っているいくつかの理由の一つにIt's All Textプラグインの存在がありました。同様のことが出来る拡張を定期的に探していたのですが、今日ついに実用に耐えうる(?)拡張を見つけたので紹介します。

TextareaConnect(☆3つですが、手元の環境では元気に動いています)

Chrome版It's All Textが登場しなかった背景には、Chromeが拡張から外部プロセスの起動を許さないというポリシーがありました。TextareaConnectは、別に起動したサーバプロセスから任意のエディタを立ち上げ、テキストをやりとりすることでIt's All Text相当のことを実現しています。(他にも同じアプローチの拡張があったような気がします)

サーバ側は、なんと出たばかりのNode.js 0.4.0以上を要求するためか、ドキュメント通りにはインストールできなかったのでインストール方法を書いておきます。

前提

Node.js 0.4.0と、npm-0.2.18はインストール済とします。

TextareaConnectのインストール

Extensionのページから先にインストールしておいてください。

TextareaServerのインストール

npm install でgithubからインストールしろと書いてありますが、npm-0.2.18がNode.js 0.4.0のAPIに完全に対応していないのか、ライブラリをダウンロードする際に400エラーが発生します。

そのため、まずwgetなどで https://github.com/epeli/TextareaServer/tarball/v0.1.1 からファイルをダウンロードします。(ファイル名が v0.1.1 となりますがtar.gzです)

次にnpmでダウンロードしたtar.gzからインストールします。

npm install ./v0.1.1

ここでnpmの罠があるのですが、フルパスにするか、./をちゃんと付けてください。そうしないと、httpで取りにいこうとして失敗します。

TextareaServerの起動

たとえば、gvimで編集したい場合は以下のコマンドでサーバを起動します。

textareaserver --editor-cmd gvim

Chromeに拡張をインストール済なら、ここでサーバと接続が確立したというnotifyがでると思います。

使ってみる

textareaやtextinputで右クリックして「Edit in external editor」を選択しましょう。外部エディタが立ちあがりましたね!あとは、そこで編集して保存すればtextareaに反映されます。

既知の問題

gvimを使っているからかもしれませんが、ちょっと使っただけでもいろいろありました。

  • 一度外部エディタを閉じたtextareaで、リロードなど無してもう一度開こうとしても開けない
  • Gmailで使うとgvimが3つたちあがる


おすすめの使いかた

.xinitrcなどで「textareaserver --editor-cmd gvim &」としておくと、サーバの起動を気にしなくていいので便利です。

同様に.textareaserverの中もお掃除してあげるといいかもしれません。

It's All TextがないからFirefoxを使い続けている人は、これを期にChromeに乗り換えてみてはいかがでしょうか。

0 件のコメント:

コメントを投稿