Skip to content

WIP: EmacsでインテリジェントなPHPコーディング2018

公開日:

に福岡市博多区のLINE Fukuoka株式会社で開催された『PHPカンファレンス福岡2018前夜祭リジェクトコン』でレギュラーセッション(20分)として発表しました。

Download PDFPDF

スライドテキスト

Page 1

WIP:

Emacsでインテリジェントな

PHPコーディング2018

Intelligent PHP coding in Emacs.

2018-06-16 #phpconfuk_rej PHPカンファレンス福岡2018前夜祭リジェクトコン

Page 2

お前誰よ

  • うさみけんた (@tadsan) / Zonu.EXE
  • GitHub/Packagistでは id: zonuexe
  • ピクシブ株式会社 pixiv運営本部
  • Emacs Lisper, PHPer
  • Emacs PHP Modeのメンテナ引き継ぎました
  • 好きなリスプはEmacs Lispです
  • Qiitaに記事を書いたり変なコメントしてるよ

Page 3

WIP: EmacsでインテリジェントなPHPコーディング2018 3ページ

Page 4

We are hiring!

Page 5

近況報告

Page 6

WIP: EmacsでインテリジェントなPHPコーディング2018 6ページ

Page 7

WIP: EmacsでインテリジェントなPHPコーディング2018 7ページ

Page 8

はじめに

お断り

Page 9

私は会社ではPhpStormの利用を推進してます(当然経費で導入)

Page 10

今回の発表

現段階はWIP(作業中)

Page 11

対象者

Page 12

PhpStorm以外で開発したい各位

Page 13

特にVimmer Emacser

Page 14

それ以外のエディタ拡張開発者

Page 15

改めて

Page 16

WIP:

Emacsでインテリジェントな

PHPコーディング2018

Intelligent PHP coding in Emacs.

2018-06-16 #phpconfuk_rej PHPカンファレンス福岡2018前夜祭リジェクトコン

Page 17

みなさん

Page 18

IDEでコード書いてますか?

Page 19

PhpStorm?

Page 20

Vim?Emacs?

Page 21

Sublime Text?Atom? VSCode?

Page 22

Eclipse?NetBeans?

Page 23

秀丸?サクラエディタ?

Page 24

私はEmacs

\(^o^)/

Page 25

理由:僕がハックできるエディタがEmacsだから(PhpStormは自由にハックできない)

Page 26

これまでのあらすじ

Page 27

WIP: EmacsでインテリジェントなPHPコーディング2018 27ページ

Page 28

要約:Lispパッケージを入れると、いい感じのナビゲーションができるよ

Page 29

WIP: EmacsでインテリジェントなPHPコーディング2018 29ページ

Page 30

要約:Emacsは高性能竹槍だぞ

Page 31

WIP: EmacsでインテリジェントなPHPコーディング2018 31ページ

Page 32

要約:PhpStorm最高!いちばん好きなStormです

Page 33

エディタくらい好きなの選びたい

Page 34

勝つとか負けるとかの話ではない

Page 35

エディタ選択は専門職たるエンジニアの裁量の範疇

Page 36

本当にそれでエラーを起こさない自信があるならな

Page 37

僕は自信がない

Page 38

インテリジェントなIDEができること

Page 39

定義ジャンプリファクタリングインラインエラーチェック- syntax error/ 型の不整合- 未定義変数/未定義クラス… etc.

Page 40

定義ジャンプ

Page 41

高速なコードリーディングには必須

Page 42

リファクタリング

Page 43

効率よく仕様を変更するのに必須

Page 44

インラインエラーチェック

Page 45

文法違反のチェックごときに時間をとりたくない

Page 46

WIP: EmacsでインテリジェントなPHPコーディング2018 46ページ

Page 47

あなたのエディタはできますか?

Page 48

定義ジャンプ ←タグジャンプリファクタリング ← sedインラインエラーチェック- syntax error/ 型の不整合- 未定義変数/未定義クラス… etc. ↑ php -l

Page 49

タグファイルってシンボル検索してジャンプするだけじゃないの…

Page 50

おまいはそれで満足か?

Page 51

Photoshop

Page 52

それはそれでいい

Page 53

手に馴染んだエディタvs高性能IDE

Page 54

エディタ選択の自由を守るには自分自信がPHPスキルを磨き、IDEを選択せずに開発することで損ねないことの証を立てねばならない。

Page 55

強いIDEの生産性を凌駕するには、開発者各位がエディタスキルとコーディングスキルを磨かなければいけない!!!

Page 56

ほんとにそれでいいのか

Page 57

精密リファクタはPhpStormの独擅場

Page 58

圧倒的じゃないか、我が軍は。

Page 59

戦力差を埋めよう

Page 60

PHPStan

Page 61

WIP: EmacsでインテリジェントなPHPコーディング2018 61ページ

Page 62

実は、PHPStanは軽いのでインラインエラー検査に最適

Page 63

この検査結果をエディタでインライン表示できれば、だいたいPhpStormっぽくなる!

Page 64

PHPStan 0.9.2と現masterブランチは互換性がないので注意

Page 65

Phpactor

Page 66

WIP: EmacsでインテリジェントなPHPコーディング2018 66ページ

Page 67

リファクタリング&ナビゲーション・補完

Page 68

エディタ中立な設計

Page 69

公式ではVimプラグイン同梱

Page 70

リファクタリング機能については、まだPhpStormに匹敵するほどの能力はない(開発中・発展途上)

Page 71

現状報告

Page 72

自分で問題解決できる人柱向け

Page 73

まだ万人にEmacsを薦められる段階にはなってない

Page 74

理由:プロジェクトごと設定必要インストールがめんどい

Page 75

インストールめんどい件:まだPharアーカイブでは配布されてないcomposer globalとかで入れるのが比較的に楽

Page 76

WIP: EmacsでインテリジェントなPHPコーディング2018 76ページ

Page 77

WIP: EmacsでインテリジェントなPHPコーディング2018 77ページ

Page 78

そして

Page 79

WIP: EmacsでインテリジェントなPHPコーディング2018 79ページ

Page 80

この構想については眠くない夜に書きます

Page 81

いますぐ利用したいEmacsユーザー向け

Page 82

MELPAでflycheck-phpstanを入れて、README通りに設定

Page 83

MELPAでphpactorを入れて、設定しcompany-phpactor

Page 84

詳しくは直接聞いてくれ!!

Page 85

tadsanのやる気をアップさせる方法

Page 86

やらなきゃいけないことドキュメント化の必要はわかってる…

Page 87

夜は眠いしやる気が出ない

Page 88

WIP: EmacsでインテリジェントなPHPコーディング2018 88ページ

Page 89

tadsan先生の次回作にご期待ください

Page 90

課金は成果を約束するものではございません

Page 91

あるいは

Page 92

お前がEmacs Lisperになるんだよ