V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
zhangolve
V2EX  ›  Sublime Text

有没有一个 sublime text 包能够实现自动补全 js 操作 DOM 方法的?

  •  
  •   zhangolve · 2016-12-18 11:53:18 +08:00 · 4024 次点击
    这是一个创建于 2898 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我们知道 Chrom 控制台调试的时候,是可以很方便的通过自动补全来找到想要使用的 DOM 方法的,而且这也避免了出现拼写错误。

    ![]( http://7ktu2f.com1.z0.glb.clouddn.com/QQ 截图 20161218114113.png) 一个比较常见的拼写错误是, getElementsByClassName 会很容易写成 getElementByClassName ,也就是少一个 s 。而如果有了自动补全,不仅省事了,也能够减少这样愚蠢的错误出现。

    但是我搜索了一番之后,发现 sublime text 有一个 TSlint 的包,可以实现对 JS 操作数组或对象的方法的自动补全,但是这个包并不支持对 DOM 操作方法的自动补全。所以就有了这个问题。

    当然了,你可能会说,没有自动补全可以强迫你加强记忆,不然一辈子都不会改变 getElementByClassName 的写法。我也承认,的确这也是没有自动补全的好处。但是有了自动补全,提高工作效率,不是也很好吗?

    另外,我也没有用过 Atom 或者 VS code,不知道这些编辑器能不能实现我上述的功能。

    3 条回复    2016-12-18 12:56:12 +08:00
    zhangolve
        1
    zhangolve  
    OP
       2016-12-18 12:08:30 +08:00
    写这个问题的时候,自己又理了一下头绪,发现是我没有用正确 TSlint 这个工具。

    应该是要先在项目目录下新建一个 .sublime-project 的文件。然后在里面写上
    "ternjs": {
    "exclude": ["wordpress/**", "node_modules/**"],
    "libs": ["browser", "jquery"],
    "plugins": {
    "requirejs": {
    "baseURL": "./js"
    }
    }
    }

    最后实现的效果就是

    ![](7ktu2f.com1.z0.glb.clouddn.com/QQ 截图 20161218120725.png)

    参考: https://stackoverflow.com/questions/13661462/getting-full-js-autocompletion-under-sublime-text/22940221#22940221
    chemzqm
        2
    chemzqm  
       2016-12-18 12:26:53 +08:00
    https://github.com/ternjs/tern_for_sublime 配置里加上 browser 就可以了,![]( http://7xrnd0.com1.z0.glb.clouddn.com/t7gex8k9kh)
    我用的是 vim
    zhangolve
        3
    zhangolve  
    OP
       2016-12-18 12:56:12 +08:00 via Android
    @chemzqm 嗯,我后来看文档也找到了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2951 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 13:35 · PVG 21:35 · LAX 05:35 · JFK 08:35
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.