Coda2 とは
- Panic社のコーディング・エディタ
- 有料(税込9,800円)
- WEB開発向けの単体アプリ。
- SSH接続、ファイル転送、ターミナル、MySQL、Git、Webサイトのプレビュー付きなど、Web開発のコーディングに必要なものを1つのアプリにパックしたようなアプリ。
お金を払ったので使い倒したい
∴ プラグインを作りたい(PHPで)
学ぶとは真似ぶ
車輪の再発明とは写経
やりたいこと
- 「PHP PSR-2 Fixer」プラグインと同じこと
- プラグインの呼び出し(実行)
- コードを TEMP に保存
- TEMP のコードを PHP で整形する
- 整形結果を返してオリジナルに反映
PHP PSR-2 Fixer プラグインとは
コード整形プラグイン。 PHP のソースコードを PSR-2 に準拠するように PHP_CodeSniffer を使って整形してくれるプラグイン。コード規約が PSR-2 縛りの場合に便利。

PHP PSR-2 Fixer プラグインのダウンロード
- Panic.Inc
- GitHub
プラグイン・ファイル
「xxx.codaplugin」を作るのに必要なもの
Coda Plug-In Creator
スクリプトや同梱ファイルをドラッグ&ドロップして実行すると .codaplugin
にコンパイルしてくれる。
ダウンロード: http://download.panic.com/coda/Coda%20Plug-in%20Creator.zip
プラグインの構造を覗いてみる
"PHP PSR-2 Fixer.codaplugin"の場合
- プラグインを右クリックして「パッケージの内容を表示」でも同じものが見れる
- プラグインの保存先:
/Users/<user>/Library/Application Support/Coda 2/Plug-ins/
"Coda Plug-In Creator" が作ってくれるので、余り深く考えないことにする
"Coda Plug-In Creator" で
"PHP PSR-2 Fixer.codaplugin" を開いてみる
図 | 説明 |
---|---|
![]() |
① コマンド名: 「コマンド」メニューからプラグイン名を選んだ時のメニュー名 |
図 | 説明 |
---|---|
![]() |
② 実行スクリプト: ソースを TEMP にコピーし、④で指定された PHP ファイルを実行させるシェル・スクリプト。[fixer.sh のソースを読む] |
図 | 説明 |
---|---|
![]() |
③ スクリプトへのデータの渡し方: ここでは全体を "fixer.sh" に渡すので「書類」。処理結果で置き換えるので「現在の書類と置換」 |
図 | 説明 |
---|---|
![]() |
④ 実処理ファイル: PSR-2 にコードを整形するPHPファイル phpcbf.phar と 整形ルールのファイル rules.xml ※ phpcbf.phar は PHP_CodeSniffer を -v オプション付きで PHPアーカイブしたもの
|
総括
独自処理の PHP を作って .phar
化して差し替えてプラグインをコンパイルすれば、PHPで独自プラグインが作れそう。
WordPress のPHPコード規約に準拠した PHP-Codesniffer のXMLと差し替えるとか。
整形以外のプラグインを作りたい場合は、Coda Plug-in Kitのサンプルが参考になるかも。
参考文献
- 「Coda Plug-in Kit」 @ GitHub
- 「Codaのプラグイン作成」 @ almondlab.jp
- 「Coda ライブラリ」 @ Panic.com
- 「Coda リリースノート」 @ Panic.com
- 「Coda FAQ」 @ Panic.com
- 「WordPress-Coding-Standards: PHP_CodeSniffer rules (sniffs) to enforce WordPress coding conventions」 @ GitHub
- 「PHP CodeSniffer を使ってWPコーディングスタンダードのエラーをチェック&自動修正しよう」 @ ミルログ