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

公開日:

Download PDF

スライドテキスト

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

Page 4

We are hiring!

Page 5

近況報告

Page 6

Page 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

Page 28

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

Page 29

Page 30

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

Page 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

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

Page 62

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

Page 63

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

Page 64

PHPStan 0.9.2と

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

Page 65

Phpactor

Page 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

Page 77

Page 78

そして

Page 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

Page 89

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

Page 90

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

Page 91

あるいは

Page 92

お前が

Emacs Lisperに
なるんだよ