AtCoder用のPythonスニペットをVSCodeの拡張として公開してみた

この記事は マイナビ Advent Calendar 2019 10日目の記事です。

一言でいうと

AtCoder用のPythonスニペット拡張を公開しました。URLは https://marketplace.visualstudio.com/items?itemName=hirosuzuki.atcoder-python-snippets になります。

概要

私はプログラミングコンテストサービス AtCoder に参加しています。現在、レーティングが目標の青に到達し、リアルタイムのコンテストからは引退しました。今はバーチャルコンテストでゆっくり過去問を Python で解いて楽しんでいます。コーディングは Virtual Studio Code + Remote Development を利用しています。AtCoder ではほぼ入力形式と出力形式が決まっていて、難易度の低い問題では使うモジュールも限られています。できるだけ楽にコーディングを行うため、定型コードを簡単に入力できるようスニペットを作成しました。

コーディング例

画像1

上の例は最大公約数を求める簡単なものです。スニペットと補完を利用して手早くコーディングができています。

拡張機能公開まで

拡張機能公開までの手順は以下のとおりです。
(1) スニペットを作成する
(2) スニペットのVSCode Extensionを作成する
(3) Extensionを公開する

(1) スニペットを作成する

コマンドパレットから Preferences: Configure User Snippets を利用して、各言語用のスニペットを作成します。
詳しくは https://code.visualstudio.com/docs/editor/userdefinedsnippets を参照ください。

(2) スニペットのVSCode Extensionを作成する

VSCode拡張としてパッケージにするため、package.json と(1)で作成した、スニペットファイル、ここでは snippets.json を用意します。
詳しくは https://code.visualstudio.com/api/language-extensions/snippet-guide を参照ください。

(3) Extensionを公開する

以下の流れになります。
・コマンドラインツール vsce をインストールする
・Azure DevOps のアカウントを作成する (既にアカウントがあるなら不要)
・Market に公開するための Personal Access Token を発行
・vsce に Personal Access Token を設定する
・コマンド vsce publish を実行して、公開する
詳しくは https://code.visualstudio.com/api/working-with-extensions/publishing-extension を参照ください。

まとめ

今回はじめて VSCode拡張を作成し、公開まで行いました。英語ながらドキュメントが十分にあり、動作するサンプルもあったので、スムーズに公開することができました。VSCodeやChromeなどほぼ毎日利用するツールを改善することは、生産性向上に直接つながります。これからも拡張機能を作成していきたいと思います。

この記事が気に入ったらサポートをしてみませんか?