VSCodeでCodeRunnerを使ってショートカットキーで実行する

image

はじめに

VSCodeを使って開発するエンジニアは数えられないほどいます。

いちいちシェルにコマンドを打って実行するのでは歯痒いので、CodeRunnerを使ってファイルの実行をショートカットキーで行える夢のような設定を紹介します。

注意点として、シェルにコマンドを打つ必要はありませんが、ファイルを実行するためにどのようなコマンドを打つ必要があるのかは知る必要があります。

例えばCのファイルだと

gcc hoge.c -o hoge
./hoge

です。

インストール

Cmd+Shift+X(Windowsの場合はCtrl+Shift+X)で拡張機能マーケットを開いて、検索窓に「coderunner」と入力して入手できます。

設定

左下の歯車のアイコンをクリックして設定を選択します。

設定を開いたら、右上のファイルのアイコン「設定(JSON)を開く」を押してsettings.jsonを開きます。

{
  "code-runner.runInTerminal": true
}

settings.jsonに必ずこの一行を追加してください!

これがないとCodeRunnerを使って実行した際に標準入力が使えません!

CのファイルをCodeRunnerで実行してみる

適当なファイルを作成します。

#include<stdio.h>

int main(void) {
    printf("hello world\n");
    return 0;
}

作成したら、Ctrl+Opt+N(Windowsの場合はCtrl+Alt+N)で実行します。

このようになったらCodeRunnerで実行できています。

コマンドの変更

デフォルトのものだけでは、例えば出力先を変えたいときなどに対応できません。

そこでまずは"code-runner.executorMap"を設定します。

デフォルト設定は以下になっています。

{
    "code-runner.executorMap": {
        "javascript": "node",
        "java": "cd $dir && javac $fileName && java $fileNameWithoutExt",
        "c": "cd $dir && gcc $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt",
        "cpp": "cd $dir && g++ $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt",
        "objective-c": "cd $dir && gcc -framework Cocoa $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt",
        "php": "php",
        "python": "python -u",
        "perl": "perl",
        "perl6": "perl6",
        "ruby": "ruby",
        "go": "go run",
        "lua": "lua",
        "groovy": "groovy",
        "powershell": "powershell -ExecutionPolicy ByPass -File",
        "bat": "cmd /c",
        "shellscript": "bash",
        "fsharp": "fsi",
        "csharp": "scriptcs",
        "vbscript": "cscript //Nologo",
        "typescript": "ts-node",
        "coffeescript": "coffee",
        "scala": "scala",
        "swift": "swift",
        "julia": "julia",
        "crystal": "crystal",
        "ocaml": "ocaml",
        "r": "Rscript",
        "applescript": "osascript",
        "clojure": "lein exec",
        "haxe": "haxe --cwd $dirWithoutTrailingSlash --run $fileNameWithoutExt",
        "rust": "cd $dir && rustc $fileName && $dir$fileNameWithoutExt",
        "racket": "racket",
        "scheme": "csi -script",
        "ahk": "autohotkey",
        "autoit": "autoit3",
        "dart": "dart",
        "pascal": "cd $dir && fpc $fileName && $dir$fileNameWithoutExt",
        "d": "cd $dir && dmd $fileName && $dir$fileNameWithoutExt",
        "haskell": "runhaskell",
        "nim": "nim compile --verbosity:0 --hints:off --run",
        "lisp": "sbcl --script",
        "kit": "kitc --run",
        "v": "v run",
        "sass": "sass --style expanded",
        "scss": "scss --style expanded",
        "less": "cd $dir && lessc $fileName $fileNameWithoutExt.css",
        "FortranFreeForm": "cd $dir && gfortran $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt",
        "fortran-modern": "cd $dir && gfortran $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt",
        "fortran_fixed-form": "cd $dir && gfortran $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt",
        "fortran": "cd $dir && gfortran $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt"
    },
}

これらは最初からあるわけではなく、CodeRunnerを使って初めて実行した時にsettings.jsonに追記されていきます。

例えばpython3を使いたい時は、

{
  "code-runner.executorMap": {
    "python": "python3 -u"
  }
}

とするとpython3が使えます。

おわりに

今回はCodeRunnerを使ってファイルの実行を楽にする手順を簡単に説明しました。

さらに詳細な設定をしたい場合は以下の記事をオススメします。

settings.jsonの中身を色々変えて実行時のコマンドを好きなように変えることができるとさらにCodeRunnerを使うありがたみが実感できます!

CodeRunnerを使いこなして開発効率を爆上げしましょう!

参考

Code Runnerを使いこなす

お知らせ

11月5日開催のアプリ開発講座の参加者募集中!!

11月5日開催のアプリ開発講座の参加者募集中!!

11月5日にアプリ開発講座を開催します!会場は岐阜県美濃加茂市のコワーキングスペース「こやぁね」です。興味のある方は是非ご参加ください!

Read More
可茂IT塾ではFlutterインターンを募集しています!

可茂IT塾ではFlutterインターンを募集しています!

可茂IT塾ではFlutterインターンを募集しています!可茂IT塾のエンジニアの判断で、一定以上のスキルをを習得した方には有給でのインターンも受け入れています。

Read More

お知らせ

11月5日開催のアプリ開発講座の参加者募集中!!

11月5日開催のアプリ開発講座の参加者募集中!!

11月5日にアプリ開発講座を開催します!会場は岐阜県美濃加茂市のコワーキングスペース「こやぁね」です。興味のある方は是非ご参加ください!

Read More
可茂IT塾ではFlutterインターンを募集しています!

可茂IT塾ではFlutterインターンを募集しています!

可茂IT塾ではFlutterインターンを募集しています!可茂IT塾のエンジニアの判断で、一定以上のスキルをを習得した方には有給でのインターンも受け入れています。

Read More