facebook / create-react-app

Set up a modern web app by running one command.

Home Page:https://create-react-app.dev

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Auto-detect more common editors

gaearon opened this issue · comments

commented

Let's send PRs for autodetecting more common editors for the error overlay!
The feature already works both on macOS and Windows (thanks @levrik).

Currently detected editors are here:

const COMMON_EDITORS_OSX = {
  '/Applications/Atom.app/Contents/MacOS/Atom': 'atom',
  '/Applications/Atom Beta.app/Contents/MacOS/Atom Beta': '/Applications/Atom Beta.app/Contents/MacOS/Atom Beta',
  '/Applications/Sublime Text.app/Contents/MacOS/Sublime Text': '/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl',
  '/Applications/Sublime Text 2.app/Contents/MacOS/Sublime Text 2': '/Applications/Sublime Text 2.app/Contents/SharedSupport/bin/subl',
  '/Applications/Visual Studio Code.app/Contents/MacOS/Electron': 'code',
};

const COMMON_EDITORS_WIN = [
  'Code.exe',
  'atom.exe',
  'sublime_text.exe',
  'notepad++.exe',
];

If your favorite editor isn't in the list, but supports running from the command line with a line number, send a PR to launchEditor.js adding it to the list, and specifying its argument format.

To verify your change works, edit node_modules/react-dev-utils/launchEditor.js in your project, add a throw new Error('hi') to a component, and then verify that clicking on the error overlay takes you to the right place.

This feature is really cool - you should create an independent npm package out of that! 👍

commented

Agree, we should extract it at some point! It's originally forked from React Native but we added more features and might eventually make RN depend on it.

why no linux? :(

commented

@ntucker Because nobody contributed Linux support yet. Would you like to do that?

In my opninion, WebStorm,PhpStorm and Idea should also be there. Despite the fact that JetBrains IDEs are offering to create a shortcut, still not a lot of people do it.

commented

Happy to take PRs!

@gaearon I would like to contributed Linux support. Should I create another ticket?

commented

@bunshar This ticket is fine—just send a PR!

commented

@gaearon in OSX you can launch Atom Beta using atom-beta command.

So,

  '/Applications/Atom Beta.app/Contents/MacOS/Atom Beta': '/Applications/Atom Beta.app/Contents/MacOS/Atom Beta',

can be

  '/Applications/Atom Beta.app/Contents/MacOS/Atom Beta': 'atom-beta',
commented

Happy to take PRs (although if it works fine, I wouldn't change it).

commented

Can I take this up and add Linux support as well?

Sent from my OnePlus ONEPLUS A3003 using FastHub

commented

Sure.

commented

@gaearon for opening CRA project in Visual Studio Code, we cannot use code as mentioned here unless we go and install the command line tools from the command pallet in VS Code.

Please find the documentation for setting up VS Code here

@reznord thanks, I just spent an hour debugging this and figured out it wasn't working because I didn't have the vscode CLI tool installed. :)
@gaearon are you open to PR to improve the error message? It would be cool if it was telling to VSCode users to install the CLI first if the code command is not found.

commented

This issue has been automatically marked as stale because it has not had any recent activity. It will be closed in 7 days if no further activity occurs.