VSCodeのスニペット内で $ を使う
VSCodeのスニペットは高機能でとても便利。スニペットの基本的な機能として、変数の埋め込み機能はもちろんある。
${name:default}
という風に書くのだけど、 VSCode のスニペットの変数のシジルに $
が使われてしまっている。
というわけで、Perl なんかの場合、言語自体もシジルとして $
を使うので、スニペットの中に $
自体を使いたいわけだけど、VSCodeのスニペットの中に $
をそのまま書いても変数として扱われてしまって $
はたいてい消えてしまう。予想の通り、そういう場合はバックスラッシュでエスケープする。しかし、1個ではなくて2個必要。
my (\\$self) = @_;
という風になる。バックスラッシュ自体もエスケープ対象だから?詳しくは見てないけどこれでOK