【Emacs】Yasnippetを活用した話
テストコード作成補助
— 人魚姫ちゃん(D. Horiyama) (@wand_ta) August 30, 2019
まだまだ調整必要だけど捗りそうな感じになった pic.twitter.com/zy8c8IwmGe
- ↑コンストラクタの名前を間違ってるのはご愛嬌
__construct
が正しい
- 入れて満足してほとんど使っていなかった
- 定形コードを書くのがつらくなってきたので活用開始
- 今まで使っていなかったことを後悔するくらいには素晴らしい
設定内容
- 設定はこんなかんじ
- 他のはここ
# -*- mode: snippet -*- # name: constructor # key: ctor # group: definitions # -- /** @var ${2:$(yas-text)} */ private \$${3:$(yas-text)}; /** * @param ${2:$(yas-text)} \$${3:$(yas-text)} */ public function __construct(${2:type} \$${3:name}) { \$this->${3:$(yas-text)} = \$${3:$(yas-text)}; }
- C-i (TAB)で次の入力箇所にジャンプできるのが有能
${2:type}
${3:name}
$(yas-text)
で、対応する入力箇所の文字列と同期できる${3:{$(yas-text)}
ならば${3:name}
の入力内容と同期できる
課題点
- company-lspの補完とぶつかる
- C-iでの入力箇所ジャンプが途切れてしまう
$(yas-text)
でうまく同期できない