在Atom编辑器中为键绑定事件添加适当的选择器

时间:2018-01-14 17:37:52

标签: atom-editor

我开发了一个包,允许用户使用 Home 按钮在软包裹线中切换光标位置,就像在 Komodo Edit中一样 em>编辑。

在我的toggle()函数中,我尝试使用getActiveTextEditor函数从Atom Workspace获取活动文本编辑器,然后执行逻辑。

atom.workspace.getActiveTextEditor()

我使用选择器atom-text-editor.editor绑定 Home 键,它主要工作正常,直到在搜索和替换窗格或命令选项板< / em>的

"atom-text-editor.editor": {
  "home": "toggle-home:toggle"
}

在这种情况下,getActiveTextEditor始终返回当前编辑的文件的文本编辑器。当光标在已编辑文件的窗格内移动但不在聚焦字段内时,会导致这种情况。当我在设置窗格的文本字段中使用 Home 时,Atom会抛出异常,因为它无法找到任何活动的文本编辑器。

我通过Atom Docs,Atom API,甚至社区软件包进行了研究,但我发现,只是将&#39; mini&#39; 添加到我的事件选择器中,以缩小事件范围a位。

"atom-text-editor.editor:not([mini])": {
  "home": "toggle-home:toggle"
}

然而,如果没有&#39; mini&#39; (即Git / GitHub软件包的textarea),它仍会在文本字段中导致异常或不当行为。

我想要达到的目标是:
1)找到一个正确的键绑定选择器,它只能在当前编辑的文件窗格内触发;
OR
2)找到获取焦点实例的方法(搜索和替换,命令调色板或任何其他字段)以进行进一步处理。

解决方案

正如DamnedScholar提到here

  

选择器atom-workspace-axis.vertical atom-pane-container atom-text-editor:not([mini])将会这样做。

已经过测试,效果很好。

0 个答案:

没有答案