-
Notifications
You must be signed in to change notification settings - Fork 12.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Feature request] support from 'module' import xxx
#31260
Comments
@NewFuture The TS team generally doesn't implement syntax that isn't standard ECMAScript. Autocomplete of imports is really nice, though. I usually wind up writing: import {} from 'module'; and then go back inside the |
@danvk yes, but
The second syntax will be much better for coding, just keep going forward with autocompletion. I prefer ECMAScript to implement it😄 import React,{Component} from 'react';
// go back
// then go next line from 'react' import React,{Component};
// continue |
My IDE (WebStorm) has "live templates with variables" that can be used to insert the whole import statement line all at once, but then place the cursor immediately inside the {} Examples (not mine, just found the link to be able to post an example): https://medium.com/@drapegnik/useful-javascript-react-live-templates-for-webstorm-8a6c70aee207 I'm sure there's a plugin for VScode somewhere out there too. While I might agree (have not really thought about it because it's not a big deal) that maybe the order is not the best, I think using an IDE feature is a much better solution than trying to come up with non-standard syntax. As it is, right now unless you use two or three special TS features (I think namespaces, enums, and export=/import=require()) you can just change the filename extension and apart from the type annotations, TS == ECMAscript. Please let's keep it that way. When I switched from Flow types to TS (not because TS is better - as far as types are concerned, it isn't - but because I prefer to stay in the mainstream regardless of which product is "better") all I did was rename the files *.js => *.ts and change a few types, not a single code change. That compatibility is a good thing™ That is why the Babel TypeScript plugin is possible: It only removes type annotations and that's it, transpilation of code and imports/exports is left to the usual Babel plugins. Compatibility is much more important than some very tiny convenience (I myself never even noticed a need) that an IDE can already provide. |
thanks @kitsonk |
Suggestion
support
from 'module' import xxx
As the ES6
import
Statements, the module is always at the end of the statements like this:If we can declare the module name at first, it will be better for typing and IntelliSense.
Just like this:
After compile,the results are the same.
Could we support it like this in TypeScript?
Examples
before(TypeScript)
after(JavaScript)
Checklist
My suggestion meets these guidelines:
The text was updated successfully, but these errors were encountered: