gorogoroyasu

福岡の開発会社で働いている。

CakePHP3 on Atom

Advent Calendar 2日目です。

本当は、"新卒がCakePHP3を半年ぐらい勉強した話 など" を書こうかと思っていましたが、
Atom の Advent Calendar も空いてたのでAtomCakePHP 開発する時にこうやってるよ的な記事が見当たらなかったので、
俺のAtom プラグイン達をそっと公開することにした。(公開してくださってる方々、本当に日々感謝しております。)
俺、実はこれ使ってるよ! 的なやつがあればぜひ教えてください!!!

言い訳

新卒未経験で入社したくせに
PHP書く人が誰も使っていたいエディタを使って開発しているはぐれもののブログです。
間違ってるところ、こうした方がいいよというところは、 優しく 教えてください!

開発環境

vagrant の var/www/html/hoge を、 mac の ~/sshfs/hoge にマウントしています。
wadap.hatenablog.com
sshfs の使い方は割愛させて頂きます。

俺のAtom プラグイン

  • atom-beautify
    atom-beautify
    php-cs-fixer を使ってコードを綺麗に成形してくれるやつ。
    動作は多少重いが、GitHub 上にあるコードが全部綺麗になってるから嬉しい!
    (あと、プロジェクトで git の pre-commit でphp-cs-fixer が強制的に動くからその対策も兼ねてる。)

  • cakephp3-snippets
    cakephp3-snippets
    CakePHP3 のコードをいい感じに手助けしてくれるツール。
    ただ、完全ではないので、github にプルリクを送りたい。
    いや、送る!
    もう一回、Advent Calendar かいてやる!!!

  • atom-autocomplete-php

  • autocomplete-php
    atom-autocomplete-php
    autocomplete-php
    PHP を補完してくれるやつ。
    よく分からず2つとも入れてる。
    競合していないか心配だが、今のところ問題なさそうなのでOK
    美味しいもの × 美味しいもの = 超美味しいもの
    という理論。

  • color-picker
    color-picker
    色馬鹿な人には必須!
    これを使えば、 #cacaca が灰色だってすぐ分かる(当たり前)

  • editorconfig
    editorconfig
    複数人で開発するなら必須だと思う!
    ちなみに使ってる.editorconfig ファイルはこんな感じ!

; This file is for unifying the coding style for different editors and IDEs.
; More information at http://editorconfig.org

root = true

[*]
indent_style = space
indent_size = 4
end_of_line = lf
insert_final_newline = true
trim_trailing_whitespace = true
char_set = utf-8  

[*.{html,css,js,ctp}]
indent_size = 2

[*.yml]
indent_style = space
indent_size = 2
/**
  * [hoge description]
  * @return [bool]
  */
public function hoge ()  
{
  return true;
}

みたいな、PHP doc を生成してくれるやつ!
使い方は非常に簡単!
public function hoge()の上の行で
/** って書いてエンター押すだけ!

  • file-icons
    file-icons
    なんとなく入れてる。

  • goto-definition
    goto-definition
    関数とかクラスとかの上にマウスをホバーさせると、PHP doc の内容を表示してくれる。
    また、カーソルを当てて Alt-Cmd-Return を押すと、
    宣言元に飛んでくれる。
    超便利!
    (Alt-Cmd-Returnは、この記事書いてて知った。書いてよかった!)

  • highlight-column
    highlight-column

縦線入れてくれるやつ。
HTML の対応とか見るのに便利!
あと、トイレとか行って戻ってきた時自分がどこにいるのか見失いにくい!

  • japanese-wrap
    japanese-wrap
    これは一番はじめに入れたプラグインの一つ。最古参。
    ないと日本語書くのが辛いらしい。

  • todo-show
    todo-show
    TODO とか FIXME とか NOTE とかをハイライトしてくれるやつ。

  • minimap
    minimap

自分がどこにいるのかがひと目で分かるminimapを表示してくれるプラグイン
でかいファイルになると、自分がどこにいるか分からず絶望的な気持ちになる。

と、こんな感じです。

逆に、入れてる人が多いようだけど入れていないのは、

  • emmet
    emmet
    入れたら、めちゃくちゃキーバインドが衝突したので外した。
    Ctrl+F とか Ctrl+B とかが使えなくなるのは致命的。

  • cakephp-snippets
    cakephp-snippets
    あまり補完してくれなかったから使うのをやめた。
    わがまま。

と、こんな感じです。

ついでなので、よく使うショートカットも書いておきます。

  • Ctrl + P, Ctrl + N, Ctrl + F , Ctrl + B
    前後左右のコマンド。
    これがないと死ぬ。

  • Ctrl + A , Ctrl + K, Ctrl + E
    行頭に戻る
    行末へ行く
    カーソルより後ろを削除 (切り取り)
    特に Ctrl + A は、スペースやタブを無視して行頭へ行ってくれるのがありがたい!

  • Cmd + D
    同じ変数を選択してくれるやつ。
    変数名を帰る時に便利!

  • Cmd + Alt + Return
    上述の、関数やクラスの宣言元を探してくれるやつ!
    今日から一軍の仲間入り!

  • Cmd + Shift + F
    プロジェクト全体検索 わりと時間かかるし、mac が 「ういーーーん」って言い出すけどよく使う。

  • Ctrl + Shift + ]
    どなたかのブログを拝見して、このキーにオートインデントを割り当てた。
    超便利!!!

  • Ctrl + Shift + M
    マークダウンのプレビュー 地味に便利!

  • Cmd + Shift + P
    プラグイン入れよう! と思ったらここ!

  • Cmd + L
    一度押すと、一行選択してくれる。
    二回以上押すと、順次下の行を選択していく

  • Cmd + T
    大事なの忘れてた!
    プロジェクト内のファイルを探すやつ!
    途中文字を抜かしてもいい感じに探してきてくれて便利!

すごくよくまとまっていて、よく参考にさせていただいてます!
http://qiita.com/YusukeHosonuma/items/0f687b16f0d5eeb0c18f

という感じです。
今後、変わっていくかもしれないけど、現時点では! という感じで書きました!
逆に CakePHP 書いてる人で、いいプラグイン知ってるよ?とか、こんなの作ったよ? って言う方がいらっしゃいましたら、
コメントなりなんなりでお知らせ下さい!
喜びます!

一言

頑張ってプルリク送ります!
あと、この記事が、Atom 使おうかな? とか、使ってる とかいう CakePHP3 ユーザーの目に止まり、お役に立てるとうれしいです!!!

twitter => @gorogoroyasu
フォローとかしてもいいんですよ!!!

[補足] これ、CakePHP3 関係なくね? というご指摘をいただきました。
もしかしたらCakePHP3 は、書き直すかも。。。