Run code snippet or code file for multiple languages: C, C++, Java, JavaScript, PHP, Python, Perl, Ruby, Go, Lua, Groovy, PowerShell, BAT/CMD, BASH/SH, F# Script, C# Script, VBScript, TypeScript, CoffeeScript, Scala, Swift, Julia, Crystal, OCaml Script, R, AppleScript, Elixir, Visual Basic .NET, Clojure, Haxe, Objective-C, Rust, Racket, AutoHotkey, AutoIt, Kotlin, Dart, Free Pascal, Haskell, Nim, D, and custom command
If you like this extension, you could donate via PayPal, or scan below QR code to donate via Alipay. Any amount is welcome. It will encourage me to make this extension better and better!
- Run code file of current active Text Editor
- Run selected code snippet in Text Editor
- Run custom command
- Stop code running
- View output in Output Window
- Set default language to run
- Select language to run
- Support REPL by running code in Integrated Terminal
- Open code file or select code snippet in Text Editor, then use shortcut
Ctrl+Alt+N
, or pressF1
and then select/typeRun Code
, or right click the Text Editor and then clickRun Code
in editor context menu, or clickRun Code
button in editor title menu, the code will run and the output will be shown in the Output Window. - To stop the running code, use shortcut
Ctrl+Alt+M
, or pressF1
and then select/typeStop Code Run
, or right click the Output Channel and then clickStop Code Run
in context menu
- To select language to run, use shortcut
Ctrl+Alt+J
, or pressF1
and then select/typeRun By Language
, then type or select the language to run: e.gphp, javascript, bat, shellscript...
- To run custom command, then use shortcut
Ctrl+Alt+K
, or pressF1
and then select/typeRun Custom Command
Make sure the executor PATH of each language is set in the environment variable.
You could also add entry into code-runner.executorMap
to set the executor PATH.
e.g. To set the executor PATH for ruby, php and html:
{
"code-runner.executorMap": {
"javascript": "node",
"php": "C:\\php\\php.exe",
"python": "python",
"perl": "perl",
"ruby": "C:\\Ruby23-x64\\bin\\ruby.exe",
"go": "go run",
"html": "\"C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe\"",
"java": "cd $dir && javac $fileName && java $fileNameWithoutExt",
"c": "cd $dir && gcc $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt"
}
}
Supported customized parameters
- $workspaceRoot: The path of the folder opened in VS Code
- $dir: The directory of the code file being run
- $dirWithoutTrailingSlash: The directory of the code file being run without a trailing slash
- $fullFileName: The full name of the code file being run
- $fileName: The base name of the code file being run, that is the file without the directory
- $fileNameWithoutExt: The base name of the code file being run without its extension
Please take care of the back slash and the space in file path of the executor
- Back slash: please use
\\
- If there ares spaces in file path, please use
\"
to surround your file path
Besides, you could set the default language to run:
{
"code-runner.defaultLanguage": "javascript"
}
For the default language: It should be set with language id defined in VS Code. The languages you could set are java, c, cpp, javascript, php, python, perl, ruby, go, lua, groovy, powershell, bat, shellscript, fsharp, csharp, vbscript, typescript, coffeescript, swift, r, clojure, haxe, objective-c, rust, racket, ahk, autoit, kotlin, dart, pascal, haskell, nim, d
Also, you could set the executor per file extension:
{
"code-runner.executorMapByFileExtension": {
".vbs": "cscript //Nologo"
}
}
To set the custom command to run:
{
"code-runner.customCommand": "echo Hello"
}
To set the the working directory:
{
"code-runner.cwd": "path/to/working/directory"
}
To set whether to clear previous output before each run (default is false):
{
"code-runner.clearPreviousOutput": false
}
To set whether to save all files before running (default is false):
{
"code-runner.saveAllFilesBeforeRun": false
}
To set whether to save the current file before running (default is false):
{
"code-runner.saveFileBeforeRun": false
}
To set whether to show extra execution message like [Running] ... and [Done] ... (default is true):
{
"code-runner.showExecutionMessage": true
}
[REPL support] To set whether to run code in Integrated Terminal (only support to run whole file in Integrated Terminal, neither untitled file nor code snippet) (default is false):
{
"code-runner.runInTerminal": false
}
To set whether to preserve focus on code editor after code run is triggered (default is true, the code editor will keep focus; when it is false, Terminal or Output Channel will take focus):
{
"code-runner.preserveFocus": true
}
code-runner.ignoreSelection
: Whether to ignore selection to always run entire file. (Default is false)
code-runner.showRunIconInEditorTitleMenu
: Whether to show 'Run Code' icon in editor title menu. (Default is true)
- By default, use the
code-runner.cwd
setting - If
code-runner.cwd
is not set andcode-runner.fileDirectoryAsCwd
istrue
, use the directory of the file to be executed - If
code-runner.cwd
is not set andcode-runner.fileDirectoryAsCwd
isfalse
, use the path of root folder that is open in VS Code - If no folder is open, use the os temp folder
- For Objective-C, it is only supported on macOS
- To run C# script, you need to install scriptcs
- To run TypeScript, you need to install ts-node
- To run Clojure, you need to install Leiningen and lein-exec
By default, telemetry data collection is turned on to understand user behavior to improve this extension. To disable it, update the settings.json as below:
{
"code-runner.enableAppInsights": false
}
See Change Log here
Submit the issues if you find any bug or have any suggestion.
Fork the repo and submit pull requests.