RepoMicrosoftMicrosoftpublished Jan 20, 2016seen 2d

microsoft/vscode-react-native

TypeScript

Open original ↗

Captured source

source ↗
published Jan 20, 2016seen 2dcaptured 13hhttp 200method plain

microsoft/vscode-react-native

Description: VSCode extension for React Native - supports debugging and editor integration

Language: TypeScript

License: NOASSERTION

Stars: 2735

Forks: 284

Open issues: 18

Created: 2016-01-20T21:10:07Z

Pushed: 2026-06-11T03:32:47Z

Default branch: master

Fork: no

Archived: no

README:

React Native Tools

![Build Status](https://dev.azure.com/vscode-webdiag-extensions/VS%20Code%20WebDiag%20extensions/_build/latest?definitionId=60&branchName=master)

Stable:

Preview:

React Native Tools Preview

The extension has a nightly version which is released on a daily basis at 9 PM PST on each day that changes occur. To avoid conflicts, if both extensions are installed - only stable version will be activated. So to use the preview version it is needed to disable or remove the stable version and reload VS Code.

Package extension locally

You can not only download React Native Tools in the marketplace, but can also package your extension .vsix installation file by yourself locally. Following this documentation to package and install your React Native Tools to get the latest updates.

About the extension

This VS Code extension provides a development environment for React Native and Expo projects. Using this extension, you can debug your code and quickly run `react-native` or `expo` commands from the command palette.

![React Native features](resources/images/react-features.gif)

Table of Contents

  • [React Native Tools Preview](#react-native-tools-preview)
  • [Package extension locally](#package-extension-locally)
  • [About the extension](#about-the-extension)
  • [Getting started](#getting-started)
  • [React Native commands in the Command Palette](#react-native-commands-in-the-command-palette)
  • [Customize metro configuration](#customize-metro-configuration)
  • [Debugging React Native applications](#debugging-react-native-applications)
  • [Hermes engine and direct debugging (Recommended)](#hermes-engine-and-direct-debugging-recommended)
  • [Attach to Hermes application](#attach-to-hermes-application)
  • [Android applications](#android-applications)
  • [Android Hermes Debugging](#android-hermes-debugging)
  • [Custom build for android apps](#custom-build-for-android-apps)
  • [iOS applications](#ios-applications)
  • [iOS Hermes debugging](#ios-hermes-debugging)
  • [iOS devices](#ios-devices)
  • [Custom scheme for iOS apps](#custom-scheme-for-ios-apps)
  • [iOS direct debugging](#iOS-direct-debugging)
  • [Expo applications](#expo-applications)
  • [Debug on Expo Go](#debug-on-expo-go)
  • [Debug on expo-dev-client](#debug-on-expo-dev-client)
  • [Debug on Expo Web](#debug-on-expo-web)
  • [Configuring Expo](#configuring-expo)
  • [Expo Hermes](#expo-hermes)
  • [EAS Build initialization](#eas-build-initialization)
  • [Windows applications](#react-native-for-windows)
  • [Windows Hermes debugging](#windows-hermes-debugging)
  • [MacOS applications](#react-native-for-macos)
  • [MacOS Hermes debugging](#macos-hermes-debugging)
  • [Monorepo: debug out of React Native project directory](#monorepo-debug-out-of-react-native-project-directory)
  • [Debugger configuration properties](#debugger-configuration-properties)
  • [Re.Pack and Haul debugging](#repack-and-haul-debugging)
  • [Remote JavaScript Debugging (Deprecated)](#remote-javascript-debugging-deprecated)
  • [Customization](#customization)
  • [Sourcemaps](#sourcemaps)
  • [Debug in vscode workspace](#debug-in-vscode-workspace)
  • [Logging](#logging)
  • [Build APK and generate bundle](#build-apk-and-generate-bundle)
  • [Specifying custom arguments for react-native run-* command](#specifying-custom-arguments-for-react-native-run--command)
  • [Setting up the React Native packager](#setting-up-the-react-native-packager)
  • [Change project root](#change-project-root)
  • [Configure an Android LogCat Monitor](#configure-an-android-logcat-monitor)
  • [Configure dependencies versions for debugging Expo projects](#configure-dependencies-versions-for-debugging-expo-projects)
  • [Security dependency overrides](#security-dependency-overrides)
  • [Configure custom key bindings for extension commands](#configure-custom-key-bindings-for-extension-commands)
  • [Configure custom colors for extension output logs](#configure-custom-colors-for-extension-output-logs)
  • [Set pnpm as package manager](#set-pnpm-as-package-manager)
  • [Network Inspector](#network-inspector)
  • [Developing inside a Docker Container](#developing-inside-a-docker-container)
  • [Contributing](#contributing)
  • [Known Issues](#known-issues)

Getting started

Before going any further make sure that you:

Please notice that the extension uses .vscode/.react directory at the project root to store intermediate files required for debugging. Although these files usually get removed after debug session ends, you may want to add this directory to your project's .gitignore file.

React Native commands in the Command Palette

In the Command Palette, type React Native and choose a command.

![React Native commands](resources/images/command-palette.png)

The Run Android or Run iOS command triggers react-native run-android or react-native run-ios to starts your app for Android emulator or iOS simulator.

The Run Expo command triggers expo start and starts your expo application.

The Packager commands allow you to start/stop the **Metro Bundler** (formerly React Packager).

The full list of commands is:

| Name | Command ID | Description | |…

Excerpt shown — open the source for the full document.