This extension provides a development environment for React Native projects.
You can debug your code, quickly run react-native
commands from the command palette and use IntelliSense to browse objects, functions and parameters for React Native APIs.
- Install the extension in VS Code (0.10.8+)
- Run
npm install -g react-native-cli
to install React Native CLI (0.1.10+) - Set up React Native (0.19+) using the steps detailed on the React Native getting started documentation
- Open your React Native project root directory in VS Code.
- (Optional) Enable IntelliSense support (experimental)
Click the debugging icon in the View bar, and then click the configure gear icon to choose the React Native debug environment.
VS Code will generate a launch.json
in your project with some default configurations such as shown below.
You can modify these configurations or add new ones to the list. You can use other fields in these configurations as well.
For example, you can modify the target
field to specify the simulator you want to target for iOS debugging.
To start the debug session, select a configuration from the Configuration dropdown, and then click the start button (or press F5).
You can debug your app on an Android emulator, Android device or iOS simulator. This extension provides experiemental support for iOS devices.
More information about debugging using VS Code can be found in this guide
Debugging on iOS device would require following manual steps
- Change the
jsCodeLocation
IP in your app using the steps detailed here - Choose Debug iOS configuration from the Configuration dropdown and press F5.
- Shake the device to open development menu and select "Debug in Chrome"
In the Command Palette, type React Native
and choose a command.
The Run Android command triggers react-native run-android
and starts your app for android.
The Run iOS command similarly triggers react-native run-ios
and starts your app in iOS simulator (iPhone 6).
The Packager commands allow you to start/stop the React-packager.
IntelliSense helps you discover objects, functions, and parameters in React Native.
React Native IntelliSense depends on experimental features to support JSX in VS Code. To enable these experimental features, you will see the following prompt immediately after opening a React Native project.
This is a one-time prompt and will enable JSX support. You will need to restart VS Code once for changes to take effect.
You can verify that you have Salsa enabled and you have an installed TypeScript version that supports Salsa by checking the status indicator in the Status Bar. This shows that all is OK
Once you have enabled IntelliSense by following the above steps, you can start typing in the code editor to see the objects, functions, and parameters of your React Native libraries and your own code.
Here is what happens behind the scenes to enable JSX support
- The environment variable VSCODE_TSJS=1 is set to enable Salsa
- Salsa requires TypeScript 1.8, the extension will install
typescript@1.8.2
in~/.vscode
. - A settings.json file is created in the .vscode directory with typescript.tsdk pointing to the typescript install location.
- A tsconfig.json file is created in the project root with
allowJs: true
to allow TypeScript to process JavaScript files. - Typings for React Native are copied into the .vscode directory.
Here is the list of common known issues you may experience while using the extension
Issue | Description |
---|---|
Debugger doesn't stop at breakpoints | The debugger only works if the packager is started by VS Code. Stop the packager if it is already running outside VSCode. |
'adb: command not found' | If you receive an error adb: command not found , you need to update your path variable to include the location of your ADB executable.The ADB executable file is located in a subdirectory along with your other Android SDK files. |
Targeting iPhone 6 doesn't work | There is a known issue #5850 while running an app targeting iPhone 6 |
Click here for the complete list of known issues.
VS Code React Native extension collects usage data and sends it to Microsoft to help improve our products and services. Read our privacy statement to learn more.
If you don’t wish to send usage data to Microsoft, please follow the instructions below to disable its collection.
- Edit VSCodeTelemetrySettings.json file at ~/.vscode-react-native and add
optIn:false
.