2021/04/14

VSCodeのスニペット内で $ を使う

VSCodeのスニペットは高機能でとても便利。スニペットの基本的な機能として、変数の埋め込み機能はもちろんある。

${name:default}

という風に書くのだけど、 VSCode のスニペットの変数のシジルに $ が使われてしまっている。

というわけで、Perl なんかの場合、言語自体もシジルとして $ を使うので、スニペットの中に $ 自体を使いたいわけだけど、VSCodeのスニペットの中に $ をそのまま書いても変数として扱われてしまって $ はたいてい消えてしまう。予想の通り、そういう場合はバックスラッシュでエスケープする。しかし、1個ではなくて2個必要。

my (\\$self) = @_;

という風になる。バックスラッシュ自体もエスケープ対象だから?詳しくは見てないけどこれでOK

サイト内検索