dorapon2000’s diary

忘備録的な。セキュリティとかネットワークすきです。

VSCodeのPerl開発環境

Perl5でデバッグ・Lint・自動整形ができるVSCode環境を整えたので忘備録。

環境

(前準備)Perlのインストール

VSCodeと関係ないが、バージョン管理ができるplenvでperlをインストールした。

# plenvのインストール
$ brew install plenv
$ brew install perl-build

# シェル起動時にplenvを自動で初期化(fish版)
# https://formulae.brew.sh/formula/plenv
$ echo 'if plenv > /dev/null 2>&1; plenv init - | source ; end' >> ~/.config/fish/config.fish
$ source ~/.config/fish/config.fish

# シェル起動時にplenvを自動で初期化(bash版)
# https://tutorial.perlzemi.com/blog/20180816153437.html
$ echo 'export PATH="$HOME/.plenv/bin:$PATH"' >> ~/.bash_profile
$ echo 'eval "$(plenv init -)"' >> ~/.bash_profile
$ exec $SHELL -l

# インストールが成功していればバージョンが表示される
$ plenv --version

# インストールできるperlのバージョン一覧(エラー後述)
$ plenv install -l

# (メモっていたときの)最新バージョンをインストール
$ plenv install 5.30.1 --as 5.30

# 現在のperlのバージョン
$ plenv version

# 使用するperlのデフォルトを先程ダウンロードしたバージョンに変更
$ plenv global 5.30.1

# ちゃんと変更されたか確認
$ plenv version

# インストールされているperlのバージョン一覧
$ plenv versions
  system
* 5.30 (set by /Users/dorapon/.plenv/version)

パッケージ管理ツールcpanmをインストール。

$ plenv install-cpanm
$ cpanm --version

エラー:No backend configured for scheme https

メモを取っていた当時はうまくいっていたが、改めて手元で実行したらエラーがでた。

$ plenv install -l
Available versions:
No backend configured for scheme https at /usr/local/Cellar/perl-build/1.30/libexec/lib/perl5/CPAN/Perl/Releases/MetaCPAN.pm line 48.

検索したらこんなツイートをみつけたので、cpanmでPerl::Buildをインストールして再実行してみたらエラーが消えた。

$ cpanm Perl::Build
$ plenv install -l
Available versions:
 5.31.9
 5.31.8
 5.31.7
 5.31.6

よくわからないがめでたしめでたし。

perlデバッグ設定

marketplace.visualstudio.com

VSCode拡張機能Perl Debugを入れる。これだけでデバッグビューから簡単にPerlデバッグができるようになる。

perlのLint設定

VSCode拡張機能Perl Toolboxを入れる。Toolboxの要件にperlcriticがあるので、cpanmを使ってインストール。

$ cpanm Perl::Critic;

setting.jsonにインストールしたperlcriticまでのパスを追加。私の場合、perlcriticはホームディレクトリ直下の.plenv/以下にあった。

    "perl-toolbox.lint.path": "/Users/dorapon/.plenv/versions/5.30/bin/perlcritic",

VSCodeを再起動するとperlファイルで構文エラーがある場所に赤波線がついてくれるようになる。

f:id:dorapon2000:20200309033336p:plain

perlの自動整形

marketplace.visualstudio.com

VSCode拡張機能perltidyを入れる。perltidyの要件にperltidy(同じ名前のperlモジュール)があるので、cpanmを使ってインストール。

$ cpanm Perl::Tidy;

setting.jsonにインストールしたperltidyまでのパスを追加。保存時に自動整形してくれるようにもする。

    "[perl]": {
        "editor.formatOnSave": true,
    },
    "perltidy.executable": "/Users/dorapon/.plenv/versions/5.30/bin/perltidy",

VSCodeを再起動するとperlファイルの保存時に自動整形してくれるようになる。

perlシンタックスハイライト

拡張機能Better Perl SyntaxとテーマSyntax Highlight Themeを入れた。

    "workbench.colorTheme": "Syntax Material Dark",

f:id:dorapon2000:20200309034331p:plain

おしゃれ🍷

おわりに

どんな言語でもバージョン管理ツール・デバッグ・Lint・自動整形環境は整えたい。

参考

plenvを使ったPerl環境構築 〜2018年度版〜 - Masteries

VSCodeでPerlデバッグ - Qiita

cpanmによるPerlのローカル環境構築 - Perlプログラミング入門ゼミ - Perlでテキスト処理・Linuxサーバー管理・Webシステム開発

perlcriticを使って自動でコードの品質を担保する仕組みを作ってみた - Qiita

Perlのコード整形ツールPerltidyを導入する - Qiita