VSCodeで使えるPerl用スニペット
投稿:2020-10-21
Perlのサンプルプログラムを書くのに最初の10行はほぼ固定だから楽して入力したい。 使用環境はVSCode(Visual Studio Code)です。 まっさらの*.plファイルを開き、Vim拡張を使っているので入力モードにして「init」と打てば「#!/usr/bin/env」から「$| = 1;」まで全部入ります。
スニペットの機能はこちらの記事を参考にしました。
VsCodeのスニペットのススメ
*.plファイルを開き、VSCodeのメニュー「ファイル|ユーザー設定|ユーザースニペット」を選択、上の欄にperlと入力すれば、perl.jsonが開き、設定を書き込めます。
{
// Place your snippets for perl here. Each snippet is defined under a snippet name and has a prefix, body and
// description. The prefix is what is used to trigger the snippet and the body will be expanded and inserted. Possible variables are:
// $1, $2 for tab stops, $0 for the final cursor position, and ${1:label}, ${2:another} for placeholders. Placeholders with the
// same ids are connected.
// Example:
// "Print to console": {
// "prefix": "log",
// "body": [
// "console.log('$1');",
// "$2"
// ],
// "description": "Log output to console"
// }
"Perlの初期宣言": {
"prefix": "init",
"body": [
"#!/usr/bin/env perl",
"",
"use v5.26;",
"use utf8;",
"use warnings;",
"use strict;",
"",
"use Encode::Locale;",
"",
"use FindBin;",
"use lib $$FindBin::Bin;", // $が1個ではスニペットの変数になるので2個
"use MyDumper;",
"",
"use feature \"say\";",
"use open IO => \":utf8\";",
"",
"binmode STDOUT, \":encoding(console_out)\";",
"binmode STDERR, \":encoding(console_out)\";",
"",
"$| = 1;", // $の後が記号の場合は変数にならない(2個書くと2個出る)
"",
"$1" // スニペットを展開した後のカーソル位置
],
"description": "Perlの文字コード指定いろいろ"
}
}
*.plファイルの中でinitのinまで入力すると候補にinitが表示されます。 上下に選択を移動させてtabで確定すると次のように定型文が入り、カーソルが一番下に移動します。
#!/usr/bin/env perl
use v5.26;
use utf8;
use warnings;
use strict;
use Encode::Locale;
use FindBin;
use lib $FindBin::Bin;
use MyDumper;
use feature "say";
use open IO => ":utf8";
binmode STDOUT, ":encoding(console_out)";
binmode STDERR, ":encoding(console_out)";
$| = 1;