AtCoder Unit Test導入しました。大変良き。
注意点
説明をろくに読まないで使おうとしたら引っかかった点
言語選択
初期設定はJava。ほかの言語で使うならアドオンマネージャーから設定変更が必要@firefox。
namespaceはAtCoder、クラス名はProgram、クラス・メソッドはpublic
namespace AtCoder { public class Program { public static void Main(string[] args) { } }
改行に注意
現時点では出力の最後は改行じゃないとテスト通らない。
その他
ガワを使いまわしているため、生成したテストを貼り付けるのに「すべて選択&ペースト」があれば便利。探せばあるんじゃね*1という気がしますがせっかくなのでアドオン作りました。作り方メモ。
環境 Visual Studio Community 2007
手順
Visual Studio SDKをインストールする
ツール→ツールと機能を取得→「個別のコンポーネント」タブ、Visual Studio SDK
新規作成・プロジェクト:VSIX Project
新しい項目の追加:Custom Command
プロジェクトに項目を追加します。コマンドの作成
追加された.csファイルを編集してコピー&ペーストのコマンドを作成。
private DTE _dte; public static async Task InitializeAsync(AsyncPackage package) { await ThreadHelper.JoinableTaskFactory.SwitchToMainThreadAsync(package.DisposalToken); OleMenuCommandService commandService = await package.GetServiceAsync((typeof(IMenuCommandService))) as OleMenuCommandService; Instance = new SelectAllandPaste(package, commandService); Instance._dte = await package.GetServiceAsync(typeof(DTE)) as DTE; Assumes.Present(Instance._dte); } private void Execute(object sender, EventArgs e) { ThreadHelper.ThrowIfNotOnUIThread(); _dte.ExecuteCommand("Edit.SelectAll"); ((TextSelection)_dte.ActiveDocument.Selection).Paste(); }
- 右クリックメニューに追加
.vsctを編集してテキストエディタ上で右クリックしたとき出てくるメニューにコマンドを追加
<Groups> <Group guid="guidSelectAllandPastePackageCmdSet" id="MyMenuGroup" priority="0x0600"> <Parent guid="guidSHLMainMenu" id="IDM_VS_CTXT_CODEWIN"/> </Group> </Groups>
- ビルドして.vsixファイルを実行
追加された
参考
*1:Macros for Visual Studio使うのが楽じゃないかなー