Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>Run!New to Visual Studio Code? Get it now.
Run!

Run!

Danbh

|
441 installs
| (2) | Free
Run any code instantly from your editor. One click. Any language. Minimal setup.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Run! - VS Code Extension 🚀

GitHub License GitHub Stars GitHub Issues Downloads Version

A powerful and intuitive VS Code extension that adds a convenient run button to the status bar for multiple programming languages. Execute your code instantly with one click or a simple keyboard shortcut!

🌐 Official Website & Documentation

Visit our comprehensive documentation website: dabbh.github.io

What's on the Website:

  • 📚 Complete User Guide: Step-by-step tutorials for all features
  • 🔧 Installation Guide: Detailed setup instructions for all platforms
  • ⚙️ Configuration Manual: Advanced .Run file configuration examples
  • 🚀 Quick Start Guide: Get running in minutes
  • 🎯 Language-Specific Guides: Tailored tutorials for each supported language
  • 💡 Tips & Tricks: Pro tips for maximum productivity
  • 🆘 Troubleshooting: Solutions to common issues
  • 📝 Examples: Real-world code examples and use cases

🆕 Latest Updates (v0.4.0)

🎓 Interactive Tutorial System

  • Getting Started Walkthrough: Step-by-step introduction for beginners
  • Advanced Tutorial: Professional techniques and optimization strategies
  • Click-through Navigation: Seamless transition from basic to advanced features
  • Hands-on Learning: Interactive steps with completion tracking

🔐 Enhanced Security Features

  • Mandatory Directory Navigation: Automatic cd to file directory before execution
  • Cross-Platform Command Building: Smart shell detection (PowerShell vs Bash)
  • Safe Path Handling: Proper escaping of paths with spaces and special characters
  • Execution Context Safety: Ensures code runs in the correct directory

⚡ Performance & Reliability Improvements

  • Smart Auto-Completion: Intelligent suggestions for .Run file configuration
  • Improved Error Handling: Better error messages and graceful failure recovery
  • Enhanced Cross-Platform Support: Optimized commands for Windows, macOS, and Linux
  • Memory Optimization: Reduced extension footprint and faster startup

🎨 User Experience Enhancements

  • Intuitive Walkthroughs: Learn features without leaving VS Code
  • Professional Documentation: Complete English documentation website
  • Advanced Configuration Options: Power-user features for complex projects
  • Team Collaboration Tools: Configuration sharing and CI/CD integration guides

✨ Key Features

  • 🎯 One-Click Execution: Run your code instantly from the status bar
  • ⌨️ Keyboard Shortcut: Quick execution with Ctrl+Cmd+R
  • 🌍 Multi-Language Support: Supports 13+ popular programming languages including LaTeX
  • 🔍 Smart Detection: Automatically detects file type and shows appropriate run button
  • 💻 Terminal Integration: Executes code in VS Code's integrated terminal
  • 💾 Auto-Save: Automatically saves your file before execution
  • 🛡️ Error Handling: Gracefully handles compilation and runtime errors
  • 🔄 Re-run Capability: Easy to re-run code after fixing bugs
  • ⚙️ Custom Configuration: Support for .Run files with language-specific settings
  • 🎛️ Variable Substitution: Use {filename} and {filenameWithExt} placeholders
  • 📝 Default Commands: Smart defaults for C files without user prompts
  • 🎓 Interactive Tutorials: Built-in walkthrough system for learning all features
  • 🔐 Enhanced Security: Mandatory directory navigation and safe execution
  • 📚 Professional Documentation: Comprehensive guides on our website

🚀 New in Version 0.4.0

🎓 Interactive Learning System

The extension now includes a comprehensive tutorial system:

Getting Started Tutorial

  • One-Click Learning: Click the tutorial button to start
  • Step-by-Step Guide: Learn basic features interactively
  • Real-Time Examples: Practice with actual code files
  • Progress Tracking: Visual completion indicators

Advanced Techniques Tutorial

  • Professional Workflows: Learn expert-level configurations
  • Cross-Platform Mastery: Master Windows, macOS, and Linux setups
  • Performance Optimization: Debug builds, release optimizations
  • Team Collaboration: CI/CD integration and configuration sharing
  • Power User Features: Dynamic configurations and advanced scripting

🔐 Security & Reliability Enhancements

  • Automatic Directory Navigation: Always executes code in the correct directory
  • Cross-Platform Command Safety: Smart shell detection and proper escaping
  • Safe Mode by Default: Temporary executables prevent file conflicts
  • Robust Error Handling: Better error messages and recovery

🌐 Professional Documentation

Our new website at dabbh.github.io provides:

  • Complete Installation Guides for all platforms
  • Language-Specific Tutorials with real examples
  • Advanced Configuration Examples for complex projects
  • Troubleshooting Database with solutions to common issues
  • Best Practices Guide for professional development

🎯 How to Access New Features

  1. Start Tutorial: Command Palette → "Run!: Getting Started Tutorial"
  2. Advanced Tutorial: Complete basic tutorial, then click "Advanced Tutorial"
  3. Documentation: Visit dabbh.github.io for comprehensive guides
  4. Quick Config: Command Palette → "Run!: Create .Run File" for instant setup

📦 Installation

🌐 Complete Installation Guide

For detailed installation instructions with screenshots and troubleshooting, visit our website: dabbh.github.io/installation

Quick Installation Options

From VSIX (Recommended)

  1. Download the latest .vsix file from releases
  2. Open VS Code
  3. Press Ctrl+Shift+P (Windows/Linux) or Cmd+Shift+P (macOS)
  4. Type "Extensions: Install from VSIX"
  5. Select the downloaded file
  6. Reload VS Code when prompted

From Marketplace

  1. Open VS Code Extensions view (Ctrl+Shift+X)
  2. Search for "Run!" by Danbh
  3. Click Install
  4. Start using immediately!

Post-Installation

  1. Start the Tutorial: Command Palette → "Run!: Getting Started Tutorial"
  2. Visit Documentation: dabbh.github.io for complete guides
  3. Configure Languages: See our Configuration Guide for your specific setup

🎯 Usage

🎓 New User? Start Here!

Interactive Tutorial: Command Palette (Ctrl+Shift+P) → "Run!: Getting Started Tutorial"

The built-in tutorial will guide you through all features step-by-step. After completing the basic tutorial, continue with the Advanced Tutorial for professional techniques.

Quick Start Methods

Method 1: Status Bar Button

  1. Open a file with supported extension (see language table below)
  2. Look for the "▶ Run [Language]" button in the status bar
  3. Click the button to execute your code instantly

Method 2: Keyboard Shortcut

  • Press Ctrl+Cmd+R (Linux/Windows) or Ctrl+Cmd+R (Mac)
  • Works only when a supported file is active in the editor

Method 3: Command Palette

  • Press Ctrl+Shift+P → Type "Run!: Run Code"
  • Available commands:
    • Run!: Run Code - Execute current file
    • Run!: Create .Run File - Set up custom configuration
    • Run!: Getting Started Tutorial - Learn all features
    • Run!: Advanced Tutorial - Master professional techniques

Execution Output

  • View results in VS Code's integrated terminal
  • Each execution creates a new terminal: "Run [Language]"
  • Terminal automatically opens and displays output
  • New: Automatic directory navigation ensures code runs in correct location

📚 Learn More

  • Complete Usage Guide: dabbh.github.io/usage
  • Language-Specific Examples: dabbh.github.io/examples
  • Advanced Configuration: dabbh.github.io/configuration

🛠️ Supported Languages

Language File Extension Command Used Requirements
Python .py python3 "filename.py" (Linux/macOS)
python "filename.py" (Windows)
Python 3.x
Java .java javac *.java && java classname JDK
C .c gcc "filename.c" -o output && ./output (Linux/macOS)
gcc "filename.c" -o output.exe && output.exe (Windows)
GCC
C++ .cpp g++ "filename.cpp" -o output && ./output G++
JavaScript .js node "filename.js" Node.js
TypeScript .ts npx ts-node "filename.ts" Node.js + ts-node
Go .go go run "filename.go" Go compiler
Rust .rs rustc "filename.rs" -o output && ./output Rust
PHP .php php "filename.php" PHP
Ruby .rb ruby "filename.rb" Ruby
C# .cs dotnet run .NET SDK
Dart .dart dart run "filename.dart" Dart SDK
LaTeX .tex pdflatex "filename.tex" && xdg-open output.pdf (Linux)
pdflatex "filename.tex" && open output.pdf (macOS)
pdflatex "filename.tex" && start output.pdf (Windows)
LaTeX distribution

🌟 Cross-Platform Support

Run! automatically detects your operating system and uses the appropriate commands:

  • 🐧 Linux: Uses python3, xdg-open, no .exe files for compiled languages
  • 🍎 macOS: Uses python3, open, no .exe files for compiled languages
  • 🪟 Windows: Uses python, start, creates .exe files for compiled languages

📋 Requirements

Make sure you have the required tools installed for the languages you want to use:

Essential Tools

  • Python: Python 3.x interpreter
  • Java: JDK (Java Development Kit)
  • C/C++: GCC/G++ compiler
  • Node.js: For JavaScript and TypeScript
  • Go: Go programming language
  • Rust: Rust programming language
  • PHP: PHP interpreter
  • Ruby: Ruby interpreter
  • C#: .NET SDK
  • Dart: Dart SDK
  • LaTeX: LaTeX distribution (TeX Live, MiKTeX, etc.)

TypeScript Additional Setup

For TypeScript support, install ts-node globally:

npm install -g ts-node

🔧 Quick Setup

Ubuntu/Debian

# Essential tools
sudo apt update
sudo apt install python3 default-jdk build-essential nodejs npm php ruby-full

# Additional languages
curl -OL https://golang.org/dl/go1.21.0.linux-amd64.tar.gz
sudo tar -C /usr/local -xzf go1.21.0.linux-amd64.tar.gz
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

# .NET SDK
wget https://packages.microsoft.com/config/ubuntu/22.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb
sudo apt update && sudo apt install -y dotnet-sdk-8.0

# TypeScript support
npm install -g ts-node

# LaTeX (Ubuntu/Debian)
sudo apt install texlive-full

Windows

  • Python: Download from python.org
  • Java: Download JDK from Oracle or OpenJDK
  • C/C++: Install Visual Studio Build Tools or MinGW
  • Node.js: Download from nodejs.org
  • Go: Download from golang.org
  • Rust: Download from rustup.rs
  • PHP: Download from php.net
  • Ruby: Download from rubyinstaller.org
  • .NET: Download from dotnet.microsoft.com
  • LaTeX: Download MiKTeX or TeX Live

macOS

# Using Homebrew
brew install python3 openjdk node go rust php ruby
xcode-select --install

# .NET SDK
brew install --cask dotnet

# LaTeX
brew install --cask mactex

# TypeScript support
npm install -g ts-node

📝 Examples

Python Example

print("Hello World!")
name = input("What's your name? ")
print(f"Hello {name}!")

Java Example

public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello World!");
    }
}

C Example

#include <stdio.h>

int main() {
    printf("Hello World!\n");
    return 0;
}

LaTeX Example

\documentclass{article}
\begin{document}
Hello World!
\end{document}

⚙️ Custom Configuration with .Run Files

📚 Complete Configuration Guide: dabbh.github.io/configuration

Create a .Run file in your project directory to customize execution commands for different languages. The extension automatically configures VS Code to treat .Run files as INI files for proper syntax highlighting and editing support.

🚀 Quick Setup

Command Palette → Run!: Create .Run File → Select Languages → Ready!

Configuration Priority

The extension searches for .Run files in the following order:

  1. Local .Run file - In the same directory as your code file
  2. User Global .Run file - In user's home directory:
    • Windows: %USERPROFILE%\.vscode\global.Run
    • macOS: ~/.vscode/global.Run
    • Linux: ~/.vscode/global.Run
  3. Workspace Global .Run file - In workspace .vscode/global.Run (fallback)
  4. Built-in defaults - Extension's default settings

Available Commands

  • Create .Run File: Create a project-specific configuration file
  • Open .Run File: Open existing .Run file (local or global)
  • Create Global .Run File: Create a user-wide configuration file
  • Edit Global .Run File: Edit the global configuration file

🌐 Advanced Configuration Examples

Visit our website for comprehensive configuration guides:

  • Basic Configuration: Simple setups for beginners
  • Advanced Configurations: Professional workflows
  • Cross-Platform Setups: Windows, macOS, Linux compatibility
  • Team Collaboration: Shared configurations and CI/CD

Configuration Priority

The extension searches for .Run files in the following order:

  1. Local .Run file - In the same directory as your code file
  2. User Global .Run file - In user's home directory:
    • Windows: %USERPROFILE%\.vscode\global.Run
    • macOS: ~/.vscode/global.Run
    • Linux: ~/.vscode/global.Run
  3. Workspace Global .Run file - In workspace .vscode/global.Run (fallback)
  4. Built-in defaults - Extension's default settings

Commands

  • Create .Run File: Create a project-specific configuration file
  • Open .Run File: Open existing .Run file (local or global)
  • Create Global .Run File: Create a user-wide configuration file in ~/.vscode/global.Run
  • Edit Global .Run File: Edit the global configuration file

Cross-Platform Compatibility

The extension automatically handles platform-specific differences:

  • Executable extensions: .exe on Windows, none on Unix systems
  • PDF viewers: start on Windows, open on macOS, xdg-open on Linux
  • Command syntax: PowerShell if ($?) on Windows, && on Unix systems
  • Path separators: Automatically handled by VS Code

Format

# Custom run configurations
[c]
compileFlags: -Wall -Wextra -g -std=c99  # Optional: add debugging and warnings
runCommand: ./{filename}
# safeMode: true by default (creates temporary executables)
# For simple compilation without extra flags, omit compileFlags or use: compileFlags:

[cpp]
compileFlags: -Wall -Wextra -std=c++17 -O2
runCommand: ./{filename}
# safeMode: true by default

[python]
fullCommand: python3 {filenameWithExt} --verbose

[rust]
compileFlags: --release
runCommand: ./{filename}
safeMode: false  # Explicitly disable safe mode for this project

[latex]
fullCommand: pdflatex {filenameWithExt} && bibtex {filename} && pdflatex {filenameWithExt} && xdg-open {filename}.pdf

Available Variables

  • {filename} - File name without extension (e.g., "main" for "main.c")
  • {filenameWithExt} - Full file name (e.g., "main.c")

Configuration Options

  • compileFlags - Custom compilation flags (for compiled languages)
  • runCommand - Custom run command (used with compileFlags)
  • fullCommand - Complete custom command (overrides default behavior)
  • safeMode - For compiled languages (C, C++, Rust): Creates temporary executable files to avoid overwriting existing files
    • Default: true - Creates executable with timestamp suffix and deletes it after running (recommended)
    • safeMode: false - Uses standard executable names (may overwrite existing files)
    • If not specified in .Run file, defaults to true for safety

Safe Mode Examples

[c]
# Simple compilation (default behavior)
runCommand: ./{filename}
# safeMode: true by default (no need to specify)

[c]
# Advanced compilation with debugging and warnings
compileFlags: -Wall -Wextra -g -std=c99
runCommand: ./{filename}

[cpp]
compileFlags: -std=c++17 -O2
runCommand: ./{filename}
safeMode: false  # Explicitly disable safe mode

[rust]
compileFlags: --release
runCommand: ./{filename}
# Uses safe mode by default

Supported in .Run files

All supported languages can be customized: [c], [cpp], [python], [java], [javascript], [typescript], [go], [rust], [php], [ruby], [csharp], [dart], [latex] run

demo Gif

🐛 Troubleshooting

Button Not Showing

  • Ensure you have a supported file open
  • Check that the file extension is correct
  • Try reloading VS Code: Ctrl+Shift+P → "Developer: Reload Window"

Code Not Running

  • Verify the required compiler/interpreter is installed
  • Check for syntax errors in your code
  • Ensure you're in the correct directory

🤝 Contributing

We welcome contributions! Here's how you can help:

  1. Fork the Repository: Create your own copy
  2. Create Feature Branch: git checkout -b feature/amazing-feature
  3. Commit Changes: git commit -m 'Add amazing feature'
  4. Push to Branch: git push origin feature/amazing-feature
  5. Open Pull Request: Submit your changes for review

Ways to Contribute

  • 🐛 Bug Reports: Submit issues on GitHub
  • 💡 Feature Requests: Suggest new functionality
  • 📝 Documentation: Help improve our guides
  • 🌍 Translations: Help translate the extension
  • 💻 Code: Contribute new features or fixes

Visit our Contributing Guide for detailed information.

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

👨‍💻 Author

DanBH

  • GitHub: @dabbh
  • Website: dabbh.github.io
  • Extension: Run! on VS Code Marketplace

🙏 Acknowledgments

  • Thanks to the VS Code team for the excellent extension API
  • Special thanks to all contributors and users who provided feedback
  • Community support that made this extension better with each release
  • If you love this extension, please give us ⭐⭐⭐⭐⭐ on GitHub and the VS Code Marketplace!

Stay Updated

  • ⭐ Star the Repository: for me 😆
  • 📖 Visit Documentation: dabbh.github.io for latest guides
  • 🐛 Report Issues: Help us improve by reporting bugs
  • 💡 Request Features: Share your ideas on GitHub

Enjoy coding with Run! 🎉

Transform your VS Code into a powerful code execution environment. From beginner-friendly one-click runs to professional CI/CD integration - Run! grows with you.

Get Started: Open Command Palette → "Run!: Getting Started Tutorial"

🛠️ Quick .Run File Creation

Create a .Run configuration file instantly:

  1. Open Command Palette: Ctrl+Shift+P (Windows/Linux) or Cmd+Shift+P (macOS)
  2. Type: Create .Run File
  3. Select Languages: Choose which programming languages to include
  4. Generated: A .Run file with templates for your selected languages

Features:

  • 🎯 Language Selection: Pick specific languages or get a complete template
  • 📝 Ready-to-use Templates: Pre-configured settings for each language
  • 🔄 Overwrite Protection: Asks before overwriting existing files
  • 📂 Auto-open: Opens the created file for immediate editing
  • 🎨 Syntax Highlighting: Automatically configured as INI file for better editing experience
  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2025 Microsoft