Skip to content
| Marketplace
Sign in
Visual Studio Code>Testing>Embedded Device EmulatorNew to Visual Studio Code? Get it now.
Embedded Device Emulator

Embedded Device Emulator

Jullury

|
1 install
| (0) | Free
Launch and interact with Android emulators and iOS simulators inside VS Code
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Embedded Simulator

Launch and interact with Android emulators and iOS simulators directly inside VS Code. View device screens, tap to interact, and monitor tool versions — all without leaving your editor.

Features

Android Emulator

  • Live video streaming via scrcpy — real-time device display in a VS Code webview panel.
  • Tap interaction — click on the device view to send touch events via ADB.
  • Auto-launch — starts an AVD if none is running (configurable via embedded-device-emulator.avdName).
  • Configurable stream quality — adjust max resolution and video bitrate.

iOS Simulator (Experimental)

  • Screenshot polling — streams the simulator display as JPEG frames at ~2.5 FPS using xcrun simctl io screenshot.
  • Tap interaction — uses the macOS Accessibility API (osascript + System Events click at) to send taps to the Simulator window. Requires Xcode 26+.
  • Opt-in — disabled by default; enable via embedded-device-emulator.enableIosSimulator.

Diagnostics

  • Show Tool Versions — opens an output channel with versions for the extension, Node.js, platform, ANDROID_HOME, ADB, emulator, Java, Xcode, sim runtimes, scrcpy, and scrcpy-server.

Requirements

Platform Dependency
Android Android SDK with platform tools (adb, emulator)
Android scrcpy (brew install scrcpy or equivalent)
iOS Xcode 26+ (full Xcode, not just Command Line Tools)
iOS macOS — System Events Accessibility API for tap input

Note: The iOS Simulator viewer requires Xcode 26.3 or later. simctl io screenshot is used for display; simctl io tap was removed in Xcode 26.3, so taps are sent via AppleScript.

Extension Settings

This extension contributes the following settings:

Setting Default Description
embedded-device-emulator.androidHome "" Path to Android SDK root (e.g., ~/Android/Sdk). Leave empty to use ANDROID_HOME environment variable.
embedded-device-emulator.avdName "" Name of the AVD to launch if no emulator is running.
embedded-device-emulator.scrcpyServerJar "" Path to scrcpy-server.jar. Leave empty to use the version bundled with scrcpy.
embedded-device-emulator.maxSize 1080 Maximum video dimension for the scrcpy stream.
embedded-device-emulator.videoBitRate 4000000 Video bitrate for the scrcpy stream (bps).
embedded-device-emulator.enableIosSimulator false Enable the iOS Simulator viewer (experimental).

Commands

Command Title
embedded-device-emulator.startAndroidEmulator Embedded Simulator: Start Android Emulator
embedded-device-emulator.startIosSimulator Embedded Simulator: Start iOS Simulator
embedded-device-emulator.showVersions Embedded Simulator: Show Tool Versions

Known Issues

  • iOS viewer is experimental. Screenshot polling is limited to ~2.5 FPS. Tap coordinates may need calibration depending on your Simulator window size and macOS version.
  • macOS Accessibility permission may be required for iOS taps. Grant permission to VS Code (or Terminal) in System Settings > Privacy & Security > Accessibility.
  • The extension cannot run in virtual or untrusted workspaces — it needs access to local ADB, xcrun, and emulator binaries.

Release Notes

1.0.1

  • Fix publisher ID for marketplace publishing.
  • Add MIT license file.
  • Various build and release pipeline improvements.

1.0.0

  • Initial release.
  • Android emulator video streaming via scrcpy with tap interaction.
  • Experimental iOS simulator support (screenshot polling, Xcode 26+ only).
  • Tool version diagnostics command.
  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft