こんにちは
こんにちは.
kmcid: aokabiです.
この記事はKMC Advent Calendar 2020 - Adventarの12/7の記事になります.
昨日(12/6)の記事はkmcid: damaさんによる
AtCoder青になったので競技プログラミングの話 - DNEK's blog
blog.dnek.net
でした.
競プロ,ちゃんと続けてるのすごいです.
私も前ちょっとやってたんですが,最近はめっきりやらなくなってしまいました.
本題
さて,この記事では自分で作成したVSCode拡張, snippet-add-easyの宣伝をします.
snippet-add-easyはVSCodeにスニペットを追加する拡張です.
まずVSCodeのスニペットについて少し説明すると,コードをテンプレートとして保存して,後で呼び出して使える機能です.
よく使うコードを登録しておくと,タイプ数が減って快適にコーディングすることが出来ます.
非常に便利な機能なのですが,一つ問題があります.
VSCodeのスニペットはjson形式で保存されていて,コードをjson形式に直すのがとても面倒です.
c++のコードをスニペットしたものを例としてあげます.
"init": { "prefix": "main", "body": [ "#include <iostream>", "#include <vector>", "#include <cmath>", "#include <algorithm>", "#include <utility>", "#include <string>", "#include <stack>", "#include <regex>", "#include <numeric>", "#include <queue>", "#include <set>", " ", "#define REP(i, n) for (int i = 0; i < n; i++)", "#define ALL(v) (v).begin(), (v).end()", " ", "using namespace std;", " ", "typedef long long ll;", "", "int main(int argc, char const *argv[])", "{", " return 0;", "}" ], "description": "競プロ用" },
コードはbodyフィールドに書きます.
見て分かる通り,コードを一行ずつダブルクォーテーションでくくる必要があります.
面倒くさいですね.
snippet-add-easyでは,VSCode内でコードを選択して,右クリックから追加することができます.
gyazo.com
Visual Studio MarketplaceでVSCode拡張として公開しているので,他の拡張と同様にVSCodeの拡張タブからインストールすることが出来ます.
一つだけ注意すると現状Windowsでしか動かなくて,MacやLinux(WSL含む)ではおそらく使えないです.
本当は記事公開までに調整するつもりだったんです.
プルリク待ってます.
あと,昨日のdamaさんの記事を読んでいる方は気づいたかも知れませんが,
snippet generatorと機能は同じです.
個人的には検索して出来てきたコードをスニペット化したかったらsnippet-generator,
VSCode上で書いていたものをスニペット化したかったらsnippet-add-easy,
という感じで使い分けするといいんじゃないかなと思います.
一応コードを置いておきます.雑ですね.
github.com
締め
もしよかったら使ってみてください.
フィードバックをしていただけると私のモチベーションが上がります.
KMCのアドベントカレンダーをこれからもよろしくおねがいします.
明日はkmcid: opesanによる「5年間総振り返り+聖地巡礼記2020」です.
opesan.hatenablog.com
ありがとうございました.