0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【備忘録】online-judge-toolsのサンプルテストをタスク自動化する【AtCoder】

Last updated at Posted at 2023-01-04

背景

やりたいことはタイトルの通りです。
サンプルテストをCtrl+Shift+B でできるようにします。

この記事を読んで得られる知見

  • tasks.jsonの書き方がなんとなく分かる

環境・使用ツール

  • VSCode 1.74.2
  • OS Linux x64 5.15.0-56-generic
  • Bash .1.16(1)-release (x86_64-pc-linux-gnu)
  • python 3.10
  • atcoder-cli,online-judge-tools導入済み

atcoder-cliの導入方法はこちらから
online-judge-toolsの導入方法はこちら

task.jsonの中身

{
  "version": "2.0.0",
  "tasks": [
    {
      "label": "oj t",
      "type": "shell",
      "command": "/home/{ユーザー名}/.local/bin/oj t -c 'python3 ${file}' -d ${fileDirname}/tests",

      "options": {
        "cwd": "${workspaceFolder}"
      },
      "problemMatcher": [],
      "group": {
        "kind": "build",
        "isDefault": true
      }
    }
  ]
}

tasks.jsonファイルはCtrl+Shift+Bをすると、未作成の場合は初期化してくれます。

自動化しているのは下記のコマンドです。
-cオプションの後の実行コマンドは各自使用する言語に置き換えてください。

oj t -c "python3 main.py" -d tests

パスの問題か、そのまま"command"に記載しても実行できませんでした。

下記のようにパス変数を利用してあげましょう。

${file}:実行時にアクティブなファイルのパス変数

${fileDirname}:実行時のディレクトリのパス変数

ojのパスが必要なときはwhereisコマンドなどで調べましょう!

最後に

サンプルテストのコマンドは長くて打つの面倒ですよね。
エイリアスでもいいのですが、折角なのでタスクにしました。
精進だけでなく、快適な環境を作るのも大事ですね〜

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?