11月入社のAです。
前職はソシャゲの会社でPerlを中心に開発しており、php歴は約2ヶ月ほどです。
sublime text3で開発する場合は、デフォルトで十分開発できるのですが、
いくつか小技的なものの紹介させて頂きます。
sshfsでサーバーをマウントしてsublコマンドを使う
ラクスルではIDCFクラウド上のサーバーにsshでログインして開発しているので、
sshfsでリモートサーバーをローカルにマウントしています。
sublimeにはsublコマンドが付属しており、このコマンドを使うとターミナルからファイルを開くことができ非常に便利なのですが、リモートのファイルに対しては当たり前ですが使うことができません。
sshfsでマウントすれば、ターミナルからマウント先に移動できるので
ローカルファイルと変わらず使うことができます。
DocBlockerを入れて、phpdocコメントを書く
phpではphpdocという形式でソースコードにコメントを書けば、自動でドキュメントを生成してくれるツールがあります。
オープンソースプロジェクトなどでは標準的に使われており、できればちゃんと書きたいところですが、docコメント書くのは正直めんどくさい....
ということで当初はさぼっていたのですが、DocBlockerというパッケージを入れると随分書きやすくなりました。
ただし、1点はまりポイントがあって、GoogleIMEで日本語のコメントを書こうとすると、Enterキーを押した時点で内容が消えてしまいます。
パッケージ側の機能をコメントアウトして、対応することもできるのですが、それだと使いづらくなってしまうので、IME側の確定をEnterキー以外にも割り当てることで対応しました。
MacOSの場合、GoogleIMEの環境設定 -> キー設定の選択 の横にある編集ボタンから設定変更することができます。
Phpcsでファイル保存時にコーディング規約にあっているかチェックする
phpにはPHP_CodeSnifferというツールがあり、
ソースコードが、コーディング標準にしたがってくれるかをチェックしてくれます。
ラクスルではコーディング標準はまだしっかり定めているわけではないのですが、
できればPSR標準にしていきたいねーという動きがあり、ひっそりsublimeに導入しました。
php-cs-fixerというphpcsに違反している部分を自動修正してくれるツールがあるので合わせてそれも導入します。
sublimeではPhpcsというパッケージを入れることで、エディタ上からphpcsを利用することができるようになります。
- まずはphpcs/php-cs-fixerをインストールします。詳細は割愛しますが、僕はhomebrewで以下のようにインストールしました。
[shell] brew update && brew upgrade brew install php56 brew install php-code-sniffer brew install homebrew/php/php-cs-fixer [/shell]
- sublimeのパッケージインストールで、Phpcsを入れて設定ファイルを書きます。
設定ファイルは、Preferences->Package Settings->PHP Code Sniffer->Settings-Userから編集できます。
他にも挙動は細かく設定できますが、最低限以下の設定をすれば使えるようになります。詳細はDefaultの設定ファイルを読むと良いです。[javascript] { "phpcs_php_path": "/usr/local/opt/php56/bin/php", "phpcs_executable_path": "/usr/local/bin/phpcs", "php_cs_fixer_executable_path": "/usr/local/bin/php-cs-fixer", } [/javascript]
保存時にphpcsでチェックする例。
ここでは括弧の位置とstatic/pubilcの宣言順序が指摘されています。
これでレビューで怖い人に怒られなくなりますね!
PHP-Twigを入れる
ラクスルではテンプレートエンジンにtwigを使っているのでtwig用のパッケージを入れます。twigを使っているなら入れるべきでしょう。
その他
折角なのでphp関係ないですが、僕が普段使っているパッケージをしれっと付け加えておきます。
Alignment
All Autocomplete
BracketHighlighter
Browser Refresh
Emmet
Markdown Preview
RecentActiveFiles
Sublime Bookmarks
TrailingSpace
何かお役に立つものがあれば幸いです。
ラクスルではsublimeが好きなエンジニアを絶賛募集中です!
ラクスル採用サイト