【问题标题】:Komodo Edit autocompletion JS object literalKomodo 编辑自动完成 JS 对象字面量
【发布时间】:2012-03-12 15:44:15
【问题描述】:

问题是 Komodo 智能感知没有看到以这种方式定义的对象方法:

var App = window.App || {
  method: function() {
    ...
  }
}

键入“应用程序”。没有结果。

但是,像下面这样定义一个对象可以正常工作:

var App = {
   method: function(){
   }
}

如何使自动完成在第一个示例模式下工作?

【问题讨论】:

  • 因此,如果您的(暗示的)问题是如何解决这个问题,我想您可以在编辑文件时省略 window.App|| 部分,然后将其放回以进行测试/部署。
  • 是的,但我希望智能感知更智能:​​)

标签: javascript oop komodo jsdoc code-intelligence


【解决方案1】:

Komodo 有一个macro API,可以自动在两种模式之间切换。使用Add macro 上下文菜单选项创建一个新宏并粘贴以下代码:

komodo.assertMacroVersion(2);
if (komodo.view && komodo.view.scintilla) { komodo.view.scintilla.focus(); } // bug 67103

// define visual mode pattern
var logical_or = RegExp(/\swindow.App\s\|\|/).exec(ko.views.manager.currentView.scimoz.text);

// check for visual mode pattern 
if (logical_or)
  {
  Find_ReplaceAllInMacro(window, 0, '\\s(window.App\\s\\|\\|)', '/*\\1*/', true, 2, 0, false, false);  // replace with intellisense mode pattern
  // show mode in status bar
  ko.statusBar.AddMessage("Intellisense Mode", "imap", 0); 
  }
// check for intellisense mode pattern
else
  {
  Find_ReplaceAllInMacro(window, 0, '/*window.App ||*/', ' window.App ||', true, 0, 0, false, false);
  ko.statusBar.AddMessage("Visual Mode", "vmap", 0);
  }

单击工具箱中的宏可在智能感知模式和视觉模式之间切换。

作为替代方案,JSDoc comment 也可以使用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-06-07
    • 1970-01-01
    • 1970-01-01
    • 2019-12-30
    • 1970-01-01
    • 2013-03-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多