【问题标题】:My Atom package doesn't insert any timestamp我的 Atom 包没有插入任何时间戳
【发布时间】:2016-07-30 11:01:23
【问题描述】:

我正在为 Atom 编辑器开发一个包,该包应该以 12 小时格式或 24 小时格式插入时间戳。在遵循飞行手册网站上的说明和查看insert-timestamp's repo 的代码之间,我设法拼凑出我认为应该满足我需要的东西。问题是当我执行任何一个命令时,编辑器中都没有插入时间戳。我已经发布了主要代码here; ide 告诉我,出于某种原因,第 30 行 (if H is 0:) 上有“意外缩进”。我对 Coffeescript 没有太多经验,所以这可能是我的语法错误。我访问编辑器的方式有问题吗?我应该使用atom.workspace.getActiveTextEditor()以外的东西吗?

【问题讨论】:

    标签: debugging coffeescript package atom-editor


    【解决方案1】:

    我相信我已经找到了解决方案。原来是语法问题。基本上,当我应该使用isnt 时,我使用了is not。我错误地认为它们的意思与英语中的意思相同。不过,我想我现在明白他们两个之间的区别了。 isnt 似乎更适合比较,这就是我在这种情况下想要的。 is not 似乎更多地处理值是否为真。本质上,我的代码在语法上是有效的,但它并没有按照我的意图去做。

    【讨论】:

      【解决方案2】:

      您可能会想到 if 语句的 Python 语法,但您不需要在 CoffeeScript 中以冒号结尾。

      您的代码应如下所示:

      if H < 12
          p = 'AM'
          if H is 0
            H = 12
        else
          p = 'PM'
          if H isnt 12
            H = H%12
        stamp = "#{H}:#{M}:#{S}"
        editor.insertText(stamp)
      

      【讨论】:

      • 我把冒号去掉了,这似乎纠正了一些问题。现在的问题是只有 24 小时格式的邮票有效。即使我尝试插入 12 小时时间戳,我仍然会得到 24 小时格式。我检查了我的键盘映射、菜单和package.json 文件,并没有发现任何特别错误的地方,因此stamp12 函数的逻辑或它的执行方式肯定有问题。 Date()的使用会不会有问题?
      • 我可能会将其作为一个单独的问题发布。我是通过atom-editor 标签来到这里的,我会尝试联系 CoffeeScript/JavaScript 开发人员。
      猜你喜欢
      • 2014-10-29
      • 1970-01-01
      • 2022-01-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多