昨夜、「Ustreamで生Zen-Codingやってみましょうか」という内容がTwitter上で賑わっていました。
Zen-Codingってなに?
HTMLとCSSを効率良く記述するためのスニペット生成マクロです。効果の程については、まずこの動画を見てもらえればわかると思います。
Zen Coding v0.5 from Sergey Chikuyonok on Vimeo.
こういう手法はEmacs使いの人には馴染み深い物と思います。過去にはRuby on RailsのデモがTextMateを使って、上記のようなコーディング動画を配信されていました。私もその当時、TextMateいいな!と思って導入しましたが、日本語対応がうまくできず、EclipseベースのIDEに戻りコード補完をガシガシ使ってコーディングしてきました。
Zen-Codingはどうやって使うの?
現在ですと、Aptana, NetBeans, Coda, Espresso, TextMate, VisualStudio, Dreamweaver CS4とクロスプラットフォームで使用できます。これは素晴らしいことですね。私は現在、Eclipse + PDT + Aptanaという開発環境で諸々の言語を使用していますので、今回はEclipseで使うための方法について補足したいと思います。
前提として、EclipseMonkeyというプラグインが必要になります。これはEclipse上で動かせるマクロを作成するためのプラグインです。マクロは標準ではJavaScriptで記述することになっており、Rubyで書いたりもできるようです。Zen-CodingはJavaScriptで記述されています。
Zen-Codingを導入する前の準備
公式サイトにてインストール方法が紹介されています。まずは、Installingの手順に従ってAptanaのインストールとEclipseの再起動までを行いましょう。インストール時に依存関係を追って、一通りのツールがインストールされます。
その後、Zen Coding for Aptana v0.6 をダウンロードし、中のファイルすべてを以下の画像のように配置します。
新規プロジェクトで一般のプロジェクトを作成した後、scripts/libというディレクトリを作成しています。すると、メニューのスクリプトに「Zen Coding」という項目が現れます。早速、デモのように適当なHTMLファイルを作って試しましょう!Expand Abbreviation という項目がスニペット展開を行ってくれます。快適です。
Zen-Codingのショートカットキーをカスタマイズ
ショートカットキーをカスタマイズするには、まず該当するマクロのファイルを開きます。5行目にKeyという内容があるので、そこを編集します。M3って何だ?と思うかと思いますが、以下のような対応になっています。
- M1->コマンド(Mac)
- M2->Ctrl
- M3->Alt or Option(Mac)
- M4->Ctrl(Mac) 上記画像の設定だと Alt + E で Expand Abbreviation が実行されるということになります。
ショートカットキーが動かない?
Eclipseデフォルトのショートカットキーと競合している可能性があります。ウィンドウ->設定->一般->キーで競合しているショートカットキーを探し、別なショートカットキーを割り当てるか、コマンドのアンバインドで削除します。ちなみにフィルターのところで Ctrl+Shift などと入力するとCtrl+Shiftから始まるショートカットキーを探すことができて便利です。
ここまでできれば、快適なコーディングライフの歩みを一歩進めることができるでしょう。逆にZen-Codingの内容を参考にして、よく使うスニペットマクロを作成して行くと、楽しみが広がってくると思います。
[concrete5.6] ローカルで作成したDesigner Content Proのブロックを本番へ移行する
2016年3月24日
cocrete5の強力なプラグイン、Designer Content Proで作成したブロックをローカルから本番環境へ移行するためのポイントを備忘録としてまとめました。
0 Comments1 Minute
[WordPress]寄稿者ユーザーに他者の投稿を表示させない方法
2015年4月9日
寄稿者ユーザーに他者の投稿を表示させない方法について備忘録としてまとめました。フィルターフックとアクションフックを併用して、管理画面の投稿一覧に関する表示制御を行っています。
2 Comments1 Minute
OSX Marvericks にアップデートしたら MAMP PRO が動かなくなった
2013年11月2日
OSX Marverics(以下、Marvericks)になって、便利な機能も増えましたが恒例のごとく「今まで動いていたものが動かない!」というケースも発生したりします。今回は、MAMP PROがそれになったので対処法をメモとして残しておきます。
0 Comments1 Minutes
Guard + Compass + Foundation で環境構築メモ
2013年7月5日
フロントエンド開発でもCUIベースでのビルドツールが充実してきています。RubyベースのGuardで複数のリソースを扱う方法についてメモをまとめました。
0 Comments1 Minutes
RubyでYoutube Data APIの認証、動画検索、取得、更新
2013年2月28日
RubyからGoogle Data APIを操作するバッチを書いていたので、おさらいです。APIとのやりとりを直接書いてみると、マッシュアップ系のWebサービスを作るときの基礎練習として良いですね。
0 Comments2 Minutes
HTTPでXMLを送信したら、The Processing Instruction Target Matching “[xX][mM][lL]” is Not Allowed
2013年2月27日
Rubyで次々とXML送信するバッチスクリプトを書いていたところ、Net::HTTP#putの利用時にステータス400。ふたを開けてみると、なんということはない内容でした。
0 Comments1 Minute
Sublime Text 2 + MAMP + Xdebug でPHPデバッグをする方法
2012年12月18日
Sublime Text 2(以下、ST2)がすっかりメインエディタに定着したのですが、デバッグ環境が未整理でした。そういえば・・・と思って探してみると、やはりプラグインがありました。ST2とMAMPによるPHPデバッグ環境の導入方法を解説します。
0 Comments1 Minutes
IE9でprototype.js + Shadowbox.jsを使う場合のメモ
2012年6月5日
IE9なら、モダンブラウザに近づくから面倒なIE対応は減るはず、というのは幻想で余計に手間が増えるケースもあります。今回は限定されたシチュエーションですが、JavaScriptライブラリを使う場合の対応をまとめました。
0 Comments1 Minute
[FuelPHP] taskでRailsライクなseedを作る
2012年2月22日
FuelPHPを使い始めているのですが、良いと評価できる点にコマンドラインから実行できる便利なタスクがあります。Railsではrake, railsというコマンドで各種タスクを実行でき、それを踏襲しています。今回はその中でも初期データ作成に便利なseedという機能をFuelPHP上に作ってみました。
0 Comments1 Minute