VSCodeで競プロに役立つ拡張機能を作った
初めての拡張機能機能作成は難しかったです・・・
何を作ったか
競プロで言わずと知れた便利ツールのonline-judge-toolsにおいて、テストケースを簡単に追加できるVSCodeの拡張機能を作りました。
シェルスクリプトでもいいかなと思ったんですが、なんか需要高そうだったのとVSCodeの拡張機能作成してみたいなと思っていたのでやってみたらできました。
機能的にはほんの少し不満ですが、悪くはない出来だと思います。
拡張機能名は editSampleCase です
marketplace.visualstudio.com
アイコンは適当なのでいいのがあったら下さい・・・
機能一覧
テストケースの追加
自分で見つけたエッジケースなどを追加したい時に使います
- テストケースを追加したい問題のソースコードを開く
- コマンドパレット(Ctrl + Shift + P)を開く
- コマンドパレットにaddsampleと入力し押す
- テストケース入力ファイルと出力ファイルが開かれる
- テストケースを入力して保存する
テストケースの削除
追加したサンプルケースが間違っていた場合に使います
- テストケースを削除したい問題のソースコードを開く
- コマンドパレット(Ctrl + Shift + P)を開く
- コマンドパレットにdelsampleと入力し押す
- 削除したいテストケースの番号を入力する(複数入力する場合は小文字カンマで区切る)
この拡張機能で追加していないサンプルケースも消すことが可能です
注意点
テストケースの追加4にて、ファイルを開く処理がありますが正常にファイルが開かれない場合があります
現時点での対応として最後に追加したテストケースファイルを開く処理を行うコマンド(opensample)を用意してあります
この件についてはまた時間があるときに対応します
ショートカットで呼び出したい場合
1. コマンドパレットで追加したいコマンドを入力したら、右端にある歯車を押します
2. こんな画面が出てくるので、青く選択されているところをダブルクリックします
3. 設定したいショートカットキーを押して適応します
既に使用されていることもありますが、普段使っていないなら消しても問題ないと思います
消し方は下線が引かれているところをクリックし、設定されている動作が出てくるので、そこで右クリックで削除ができます
免責事項
誤動作はなるだけ起きないように作成しましたが、
この拡張機能がコンテスト中に誤動作しても自己責任でお願いします