kotonoha-pcgのブログ

dlang学習中です

スニペットの話

 最近スタイルが変わってVSCを使い始めた、というのはメインのブログで書きました。
kotonoha-pcg.hatenablog.com

そこで、インテリセンスを使ってコーディングの時間を節約したいと思うのは当然の流れで(※自分比)、これをやる方法とかどうやって書くのかな、というのをマストドンやりながら探していました。

結論

 結論からいうと、次の様な書き方になります。

import std.stdio;

//d.jsonにこう記述
/*
"for rep":{
		"prefix": "REP",
		"body": [
			"for(int $1=0;$1<$2;$1++){",
				"//nothing",
			"}"
		],
		"description": "REP macro fo for-sentence"
	}
*/

REP//ここでTabまたはC-Space

for(int i=0;i<n;i++){
//nothing
}

//っていう感じで出る

まず、Alt-F→P→スニペットでDを選択します。適当な所にcode-dなどのサンプルを参考にして書き、最後に保存します。さて、どこで迷ったのか。

トリガーとスニペット

 最初に""で囲んでスニペット名を指定し、そこから各種項目を書いていきます。"prefix"でトリガーを設定しますが、これを入力中に入力してTabあるいはC-Spaceすることでインテリセンスが機能します。これに気付かずにスニペット名だけを打ち込んでいたのがまずかったようでした。

なんでこっちで書くか

 単純にdlangに関係あるからです。直接では無いものの、最近コーディングする言語はdlangにかなり偏ってきているから、というのもあります(以降C++Java、JSと続く)。