あおかびのおすなば

日々のコトとかなんか見た感想とか

2020KMCアドベントカレンダー(自分で作成したVSCode拡張の宣伝)

こんにちは

こんにちは.
kmcid: aokabiです.

この記事はKMC Advent Calendar 2020 - Adventarの12/7の記事になります.

昨日(12/6)の記事はkmcid: damaさんによる
AtCoder青になったので競技プログラミングの話 - DNEK's blog
blog.dnek.net

でした.

競プロ,ちゃんと続けてるのすごいです.
私も前ちょっとやってたんですが,最近はめっきりやらなくなってしまいました.

本題

さて,この記事では自分で作成したVSCode拡張, snippet-add-easyの宣伝をします.

marketplace.visualstudio.com

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でしか動かなくて,MacLinux(WSL含む)ではおそらく使えないです.
本当は記事公開までに調整するつもりだったんです.
プルリク待ってます.

あと,昨日のdamaさんの記事を読んでいる方は気づいたかも知れませんが,
snippet generatorと機能は同じです.

個人的には検索して出来てきたコードをスニペット化したかったらsnippet-generator,
VSCode上で書いていたものをスニペット化したかったらsnippet-add-easy,
という感じで使い分けするといいんじゃないかなと思います.

一応コードを置いておきます.雑ですね.
github.com

締め

もしよかったら使ってみてください.
フィードバックをしていただけると私のモチベーションが上がります.

KMCのアドベントカレンダーをこれからもよろしくおねがいします.

adventar.org

明日はkmcid: opesanによる「5年間総振り返り+聖地巡礼記2020」です.
opesan.hatenablog.com

ありがとうございました.