ES6 中, import 的写法貌似不利于编辑器的自动补全?

2016-03-05 17:09:58 +08:00
 Lxxyx

ES6

import xxx from './xxx'
这样的话,得先知道模块里有啥。
或者得先输入模块名,感觉略麻烦。

Python

from xxx import xxx

感觉 Python 的写法更有利于 IDE 的自动补全。引用一些模块时,写起来也方便。

5099 次点击
所在节点    JavaScript
12 条回复
xuboying
2016-03-05 17:19:11 +08:00
IDE 可以帮你往左挪光标嘛
xuboying
2016-03-05 17:20:06 +08:00
或者列出全部模块帮你补全 from ?
bramblex
2016-03-05 17:29:10 +08:00
知道模块名不是天经地义的么…

你是不是还希望无歧义的时候完全不写模块名呀…

这么一说,我可以在重构自己的语言的时候加上这种特性
wittyfox
2016-03-05 18:49:26 +08:00
是有点
KuroNekoFan
2016-03-05 20:33:26 +08:00
import *不就好了
jakes
2016-03-05 20:58:47 +08:00
@bramblex 楼主的意思好像是先输入 import *(* 是某模块内的),由于不知道从哪个模块导入,不利于自动补全。
wdhwg001
2016-03-05 22:16:48 +08:00
也不一定, ES6 的逻辑是…模块名是你肯定知道的,这样的话 IDE 可以帮你补全目录…
mufeng
2016-03-06 07:53:03 +08:00
export function 这种, 引入的时候函数名可以随便定,每次都要翻来翻去看写错了没
murmur
2016-03-06 09:54:50 +08:00
实际上吧,现在的 js ide 都是全代码扫描,即便是 webstrom 这么牛 b 的 ide 也只是优先找可能是模块里的
比如我写个$(xxx).w 那肯定要提示 width 因为 jquery 基本成了基本库了 即便是当前模块里没扫到 jquery 的引用也要按照 jquey 提示
otakustay
2016-03-06 13:15:33 +08:00
没错, es 的语法设计甚少考虑 ide 是个事实,也许那帮家伙都是非 ide 党
forty
2016-07-06 12:08:46 +08:00
确实如此, 2 种都支持就好了, 这个顺序其实不产生歧义。
jsPop
2017-06-02 09:49:26 +08:00
@Lxxyx 非常赞成

比如在 webStorm 里, `import { ... } from 'xxx';` 花括号里的内容需要在 from 'xxx' 补全之后才能得到.
目前养成了个不太好的习惯, 就是先键入 `import {} from 'xxx'` 然后再跳回 `{ }` 里补完.. 😂

如果你用的是 IDEA 或 WebStorm, 推荐你使用它的 Template 来配置一个模板, 非常方便, 以前写 Java 单测时学到的小技巧, js 里也能用


具体设置如下:

- Preference > Live Template > create javascript template
- Set context as "Javascript"
- abbreviation = "im" (or anything you prefer), description = "whatever"
- template

```
import {$exports$} from '$module$';
```

- VERY IMPORTANT STEP: set the order of the placeholder via "edit variables" !!!! (注意 里面有一个小剪头, 可以调整占位区域的访问的先后顺序


使用方法, 在 js 文件里, 打 `im` , 然后敲 Tab 键, 即可开始编辑, 这时, 光标应该会先置于 $module$ 处, 随后按 Tab 键回到 $exports$ 处, 再按 Tab 回到行尾.

enjoy ;)

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/261337

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX