Skip to content
| Marketplace
Sign in
Visual Studio Code>Visualization>DevCap — Android & iOS Screenshots, Recording & AnnotationNew to Visual Studio Code? Get it now.
DevCap — Android & iOS Screenshots, Recording & Annotation

DevCap — Android & iOS Screenshots, Recording & Annotation

Sujeet Kumar

|
2 installs
| (0) | Free
Capture, annotate and record Android & iOS device / emulator / simulator screens straight into your workspace. AI-agent ready.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info
DevCap logo

DevCap

Android and iOS screenshots, screen recording, and annotation — straight into your workspace.

A VS Code extension and CLI, built so AI coding agents can read device captures instantly.


Screenshots

The DevCap panel — colorful actions, a live device list, and recent captures in the activity bar:

DevCap panel in the VS Code activity bar

Annotate a capture — draw arrows, boxes and text on a screenshot, with fit-to-window and zoom:

DevCap annotator with a box drawn on a screenshot

Demo

Your browser cannot play this video inline. Download the demo.

If the video does not play inline on GitHub, watch it here.

Why

When you build or debug an app on a phone, emulator or simulator, getting a screenshot to your AI coding agent (Claude Code, Cursor, Copilot) is slow and manual. DevCap makes it one click: capture -> lands in device-captures/ -> your agent reads latest.png / latest.mp4.

Features

  • Screenshot from an Android device or emulator, an iOS Simulator, and an iOS real device
  • Screen recording (start / stop / toggle, auto-pulled to your PC) on Android and iOS Simulator
  • Annotate captures: pen, line, arrow, rectangle, ellipse and text; colors, stroke size, undo; fit and zoom; Save or Save copy
  • Several entry points: status-bar button, activity-bar panel, Command Palette, keybindings
  • Device picker that can start an Android emulator (AVD) or boot an iOS simulator for you
  • Choose where captures are saved: the current project folder (default) or any folder you pick
  • Recent captures list with open, copy, copy path, reveal and delete
  • Doctor: checks adb, emulator, xcrun simctl, scrcpy and libimobiledevice, and shows the exact install command for anything missing
  • Live mirror through scrcpy (Android)
  • A shared CLI for the terminal and for AI agents

Supported targets

Target Screenshot Recording Tool
Android device Yes Yes adb
Android emulator Yes Yes adb
iOS Simulator Yes Yes xcrun simctl (macOS)
iOS real device Yes No libimobiledevice (macOS)

Requirements

Install only what you need. The Doctor command tells you what is missing and how to fix it.

  • Android: adb — brew install android-platform-tools. Turn on USB debugging on the phone, or start an emulator (optional emulator from Android Studio).
  • iOS Simulator: Xcode (xcrun simctl), macOS only.
  • iOS real device (optional): brew install libimobiledevice (screenshot only).
  • Live mirror (optional): brew install scrcpy.

Install

From a VSIX (works today)

code --install-extension devcap-0.1.1.vsix

Or in VS Code: Extensions view -> the ... menu -> Install from VSIX... -> pick the file. Then reload the window.

From source (for development)

git clone https://github.com/TantraIN/DevCap-Device-Screenshot-Recording

Open the folder in VS Code and press F5 to launch an Extension Development Host with DevCap loaded.

From the Marketplace

After publishing, search for DevCap in the Extensions view and install.

Quick start

  1. Open the DevCap panel from the activity bar (the phone icon), or click the DevCap button in the status bar.
  2. Connect a phone with USB debugging on, or click Start emulator / simulator. If a tool is missing, run Doctor.
  3. Click Screenshot. The image is saved to device-captures/ and opens in the editor.
  4. To mark it up, click Annotate in the editor title bar, draw, then Save or Save copy.
  5. To record, click Toggle recording; click again to stop and pull the video.
  6. Change where files are saved with Set capture location.

Default shortcuts: Screenshot Cmd/Ctrl+Alt+S, Toggle recording Cmd/Ctrl+Alt+R.

Annotate

Open any PNG or JPG and click Annotate in the editor title bar (or use the Recent-captures menu, or the quick-action menu). Draw with pen, line, arrow, rectangle, ellipse and text; pick a color, stroke width and font size. The image fits the window by default; zoom with Fit, +/-, 1:1 or Ctrl/Cmd + scroll. Then Save (overwrite) or Save copy (writes an -annotated file next to the original).

CLI (terminal and AI agents)

./devcap.sh shot [label]      # screenshot -> device-captures/latest.png
./devcap.sh rec-start
./devcap.sh rec-stop          # stop and pull -> device-captures/latest.mp4
./devcap.sh rec-toggle
./devcap.sh status
./devcap.sh devices           # list connected targets
./devcap.sh emulators         # list Android AVDs / iOS simulators
./devcap.sh start <name>      # start an AVD or boot a simulator
./devcap.sh use <deviceId>    # set the active device
./devcap.sh doctor

Output goes to ./device-captures/ by default; override with DEVCAP_OUT=/path. Pick a device with DEVCAP_DEVICE=<id> or ./devcap.sh use <id>.

AI-agent workflow

Every capture is saved as a timestamped original and a stable latest.png / latest.mp4. Tell your agent:

Look at device-captures/latest.png

...or let the agent run ./devcap.sh shot and read the path it prints.

Settings

Setting Default Description
devcap.outputDir "" Where captures are saved. Empty means <workspace>/device-captures.
devcap.androidBitrateMbps 8 Android screen-recording bitrate.
devcap.openScreenshotAfterCapture true Open the screenshot in the editor after capture.
devcap.copyScreenshotToClipboard false Also copy every screenshot to the system clipboard (macOS).

Notes and limits

  • Android screenrecord caps a single clip at about 3 minutes. For longer, use scrcpy.
  • iOS real-device recording is not available from the command line — use screenshot instead.
  • Multiple devices connected? Pick one in the panel, or set ANDROID_SERIAL / DEVCAP_DEVICE.
  • Some Android devices block adb screenrecord — see Troubleshooting. DevCap now reports this clearly instead of silently doing nothing.

Troubleshooting

Android recording fails with "Permission denied" (real device)

Some Android phones — typically newer Android versions or OEM builds with SELinux enforcing (seen on Realme / Oppo / ColorOS) — stop adb screenrecord from writing the video file. The command dies immediately with:

Unable to open '/sdcard/....mp4': Permission denied

On these devices the shell can create files under /sdcard normally (e.g. touch), but the screenrecord process itself is denied — the system may even refuse to let adb stop or signal it. This is the device's own policy, not a DevCap bug: any tool that shells out to adb screenrecord hits the same wall. DevCap detects the failed start and shows the reason instead of pretending the recording began.

What to do:

  • Record with scrcpy — it captures from your computer, so the device-side restriction does not apply. brew install scrcpy, then use Live Mirror (scrcpy) (scrcpy can also record to a file). This is the reliable way to record such devices.
  • Take a screenshot instead — screenshots use adb exec-out screencap and are unaffected.
  • Emulators and the iOS Simulator record fine — only certain real Android devices are affected.

Quick check on your device:

adb shell screenrecord --time-limit 1 /sdcard/test.mp4

If that prints Permission denied, DevCap cannot record to a file on that device either — use scrcpy.

License

MIT. See the LICENSE file.

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft