【问题标题】:How to catch typos errors in VIM for EmberJS (Javascript)如何在 VIM for EmberJS (Javascript) 中捕获拼写错误
【发布时间】:2014-07-07 10:43:34
【问题描述】:

我开始学习 EmberJS/JS/VIM 。我正在阅读 EmberJS 的官方 ToDoMVC 指南,我遇到了拼写错误,用“眼睛”真的很难检测到,而且浏览器在这种情况下根本没有帮助。那么,您能否建议我使用哪些工具或技术来检测这些类型的拼写错误?

例如:

### todo_controller should've been todos_controller
<script src="js/todo_controller.js"></script>

### catching the end of { } closed scoping

### typo within a model js "property"
inflection: function() {
  var remaining = this.get('remaining');
  return remaining === 1 ? 'todo' : 'todos';
}.proprety('remaining')

编辑;

是的,我在这里发帖之前进行了搜索。首先是这个网站,这里的cmets基本都是建议DreamWeaverFrustration with Typos

我搜索了 SO 本身(通过谷歌),有Is there a way to catch typos。我确实发现有一种叫做 LINT 的东西,但它处理的是咖啡脚本。

我确实找到了ember.vim,正如您之前指出的那样,但是正如您在 github 配置文件中看到的自述文件,我相信它严格希望您按照规定遵循布局。将来可能是件好事,但现在,我只想坚持官方的 ToDoMVC 方式。我刚刚开始掌握 hjkl,所以我认为我无法对其进行更改以适应我的方式。另外,第二点是它支持的布局格式是Ember-AppKit,它已被弃用。所以我怀疑我是否应该遵循布局模式本身。

而且他们都没有特别解决我的问题。在上面的 todo_controller 错字中,浏览器没有抛出任何类型的错误。我正在使用 FF/Firebug,在控制台上,它只显示有关 Ember 加载的消息,根本没有错误。我花了一段时间才看到那个错字。第二个确实抛出了错误,但是在 VIM 中很难发现拼写错误。第三个,花了一点时间,还有其他人。这些根本不会引发错误。我习惯了 PHP,虽然没有像 Android 那样直接显示错误,但我发现 Javascript 拼写错误非常困难。

【问题讨论】:

    标签: javascript vim ember.js


    【解决方案1】:

    我看了 3 遍才看到你的错字。

    将您的浏览器设置为在出现异常时暂停(有时会在捕获异常时暂停)。这是我发现追踪一个奇怪错误的最快方法之一。在这种情况下,我确定您收到的是 Uncaught TypeError: undefined is not a function...

    【讨论】:

    • 我已经更新了我的问题。我实际上没有得到那个错误。我正在使用 FF/Firebug,但我不知道是否打开了暂停异常。
    • 另外,我相信,发现别人的错别字比你自己的要快得多。脑筋急转弯!
    • 大声笑,我并不是想说它很容易找到!我说这是一个超级难打的错字。即使你基本上告诉我它在哪里,只包含 3 行并说有一个错字,我花了很长时间才找到它。
    【解决方案2】:

    请不要误会,但是您在询问之前是否尝试过搜索?很长一段时间以来,Vim 插件都有语法高亮改进。

    https://github.com/dsawardekar/ember.vim

    除了该插件之外,您还可以尝试编写自己的解决方案。我没有尝试过,但我怀疑是否有任何东西会发现 Ember 的拼写错误......

    我将 JSLint 用于 SublimeText 3,它会在您编码时进行 lint,以便您实时更新任何潜在的错误。挺不错的Vim 也有类似的情况:https://github.com/hallettj/jslint.vim

    正如@kingpin2k 所建议的,您应该真正学习如何使用您的浏览器工具。三巨头挤满了开发和调试工具。 10 次中有 9 次为您提供错误的行和列,您可以在代码中设置断点以观察它在上下文中执行。而且,就您在浏览器中调试的详细程度而言,这实际上只是冰山一角。

    【讨论】:

    • 我已经更新了关于 ember.vim 的答案。你还推荐给我吗。我有点不想坚持使用样板,但我认为我还不足以编写自己的解决方案。 LINT 似乎是解决方案,但我仍然不知道它到底是做什么的。 JS 生态系统还没有达到接近编译错字捕获环境的水平吗?这在 Eclipse/Android 中不会是一项耗时的工作。
    猜你喜欢
    • 2011-07-15
    • 1970-01-01
    • 2011-07-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-18
    • 2018-01-16
    • 1970-01-01
    相关资源
    最近更新 更多