独自yamlに対してvalidation & auto completionを行う
tl;dr
- configに対するJSON Schemaを作成すれば
yaml-language-server
がやってくれる- VSCodeは
vscode-yaml
- VSCodeは
- protoがある場合は
protoc-gen-jsonschema
で JSON Schemaを生成できる
社内ツールとかでconfigがあって、それに対するvalidationとかauto completionがあれば便利だなという時があると思う
わざわざLSPを自作するのは流石に大変だと思うけど、configがyamlの場合は yaml-lanugage-server
が JSON Schema をサポートしているので、configに対するschemaを作成して、読む込むだけでvalidation,auto completionが実現できる
protoからJSON Schemaの生成
ツールの中でgRPCを使っていてprotoファイルが存在している場合は、protocのpluginを使ってprotoファイルからJSON Schemaを生成することができるので楽
syntax = "proto3"; package example; message MyToolConfig { string hello = 1; int32 world = 2; }
こういう config.proto
を使って protoc --jsonschema_out=. config.proto
を実行すると、
{ "$schema": "http://json-schema.org/draft-04/schema#", "properties": { "hello": { "type": "string" }, "world": { "type": "integer" } }, "additionalProperties": true, "type": "object" }
こういう MyToolCofnig.jsonschema
が生成される
あとはさっきの yaml-language-server
の設定で、この JSON を読み込めば良い
2020/08/28 日記
有給
月曜有給とった
連休後のことを考えると、金曜とるより月曜とるほうがお得感あって良い
Apex
ちょっとダレてきた もうちょいでゴールド 3
ご飯
豚肩ロース300g焼いてくった x 2
普段おやつとか食べないけど、無性に食べたくなってコアラのマーチを食べた
多すぎたから次は小袋のやつ買いたい
Mr. CHEESECAKE
届いたから食べた
酸味とシナモンっぽい感じがあっておいしかった
ちょっとやわめで、半解凍だと食感が面白い
ただ、自分はベイクドとかの固めなのが好きなのでもういいかなという感じ(半分食ったが)
こういうそこそこ値段するやついろいろ食べたいんだけど量が多くて一人暮らしだとあまらせちゃうからなかなか買えないんすよね
ちなみに次はこれ狙ってる
2020/08/26 日記
生活
早く起きれてる
Apex Legends
ランクとカジュアルちょっとやった
近い敵を打つときもADSしちゃう癖があって、それを少しづつ直してる
ご飯
しゃぶしゃぶとモス
しゃぶしゃぶうまいけど煮た後のお湯の処理がめんどくさいから、タレが無くなったら焼きに戻す
配信
Twitch で配信したらずっと誰か見てて、誰だろうと思ったらBotだった
謎
Twitchの配信者向けのドキュメントが良くて、機材の話とかはリモートワークで生かせそうだと思った
初級者向けがSM58でマジ?????ってなった
そこから流れで指向性について調べてたらShureがその辺をまとめていて、それもよかったので興味ある人はぜひ