Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Summary: ## Summary Adds and recommends use of `react-native.code-workspace` file when using VS Code. This disables the built-in TypeScript Language Service for `.js` files, recommends extensions, enables `formatOnSave`, and configures Flow language support. **Motivation** This is a DevX benefit for **React Native contributors** using open source VS Code — in particular to help with recent/trivial papercuts in PRs such as inserting a final newline in files (configured by EditorConfig). **Recommended extensions** NOTE: The recommended extensions list is currently minimal — happy to extend this now or in future, but let's aim to keep these conservative. - Flow — language support - EditorConfig — formatting based on `.editorconfig`, all file types - Prettier — formatting for JS* files - ESLint — linter for JS* files - Kotlin — language support **Why `react-native.code-workspace`?** `.code-workspace` files have slight extra behaviours over a `.vscode/` directory: - Allows user to opt-in or skip. - Allows double-click launching from file managers. - Allows base folder (and any subfolders in future) to be opened with local file tree scope (useful in fbsource!) - (Minor point) Single config file over multiple files. https://code.visualstudio.com/docs/editor/workspaces Changelog: [Internal] ## Test plan Aganst a new unconfigured copy of Visual Studio Code Insiders. **Without workspace config** ❌ `.js` files raise errors by default (built-in TypeScript language service) {F1478195672} ❌ When using the Flow VS Code extension, the wrong version (global) of Flow is used. **With workspace config** ✅ Workspace config is suggested when folder is opened in VS Code {F1478194795} ✅ Dialog is shown on workspace launch with recommended VS Code extensions {F1478196003} ✅ Built-in TypeScript Language Service is disabled for `.js` files ✅ Flow language support is configured correctly against `flow` version in `package.json` {F1478291085} {F1478200649} Differential Revision: D55698495
- Loading branch information