Codeを使っています。簡単なプログラミングから、ログ漁り、PowerShellなどの実行まで、これで一通りやっているんですが、その中の一つに私の会社で出している製品の独自スクリプト言語を書くという仕事(半分趣味)がありました。関数まであって、なかなか面白いんですが、いかんせんインテリセンスも効かないので、毎度リファレンスを漁りながら書き書きしているわけです。XML的文法チェックは効くんですけどね。思い作ってみた記録がこの記事です。APIをコールして、コネクター・ドライバー製品からデータの操作ができるようにしています。以下一例kageura.hatenadiary.jpなんだかんだで既に数十サービスのScriptを書いているんですが、結構コピペが重なるパターンも多いので、これはいいのではと思ったり。ちなみに今回作ったものは以下で公開しています。何?繰り返し使う条件ステートメントやループ、何度も使うコード・一連の処理などを登録しておいて、入力を安易にするためのテンプレートセットのことを指します。以下のURLの解説とGIF画像がわかりやすいですね。Codeが拡張機能を用意しています。作り方(ユーザースニペット)作り方は簡単です。ユーザースニペット)を選択します。ここで各言語を選択すれば、その言語用のSnippetを追加できますし、新しいグローバルスニペットファイルを選択すれば、どの範囲まで作成したsnippetを利用できるようにするか、スコープを決めたsnippetも作れます。わかりやすく新しいグローバルスニペットを選択しました。ファイルを保存すると以下のようにスニペットを書くためのJSONファイルが生成されます。サンプルにもありますが、私が実際に作っているものベースで以下のような感じで書きます。ファイル内で重複できません。使う言語を指定できます。Snippetを使う時の文字列。これをプレフィックスを打ちはじめることで候補として表示されます。Snippetで実際に生成される文字列です。配列で1行ごとに指定します。Snippetを選択する時に表示される説明文です。}}ちなみにBodyに書いてある「${1:attr1}」はタブストップです。数字の番号順にタブが止まります。「$1」「$2」と書いてもいいですし、デフォルトの値を表示したい場合は「${1:Hogehoge}」と書きます。このあたりは以下のリンクにも詳しく書いてあります。Codeで実際に使ってみた感じが以下の通りです。インデント入れ忘れたな、と作ったあとに気づきました。ファイルはこんな感じです。1200行あってエグいですね。ちなみにどうやったかと言えば、C#でスクレイピング(AngleSharp)するプログラムを書いて、以下のHTMLベースリファレンスから全部漁りました。http://cdn.cdata.com/help/DWE/jp/ado/pg_stringvalueformatters.htmそれを最終的にJSON用のオブジェクトに格納して、シリアライズ(Json.NET)あまりに汎用性が無いので、非公開。思われれるかもしれないですが、言語定義とヘルプ用説明HTMLがわかれていて、どうしようもなかった・・・。リファレンスだけが公開されている独自言語ってそれなりにあると思うので、こういったスクレイピングアプローチは他にも結構ありえるかなと思ったりです。ベースに作ったサンプルが以下にあります。