我试图为Atom编辑器编写一个init脚本来添加一个自定义命令,以便能够使用一个组合键而不是两个组合键在树视图中显示当前打开的编辑器文件。
这是一个示例代码(它使一些不同的东西),以清楚地表明它通常是什么样的。
atom.commands.add 'atom-editor', 'custom:cut-line', ->
editor = atom.workspace.getActiveEditor()
editor.selectLine()
editor.cutSelectedText()
我需要的两个命令不应发送到editor
,而应发送到tree-view
。以下是两个命令:
tree-view:toggle-focus
tree-view:reveal-active-file
我认为我必须做类似上面的事情,比如getActiveTreeView
或类似的事情。我试图谷歌它,但它似乎并不明显。有人知道怎么做吗?
看起来像这样:
atom.commands.add 'atom-editor', 'custom:show-active-file', ->
tree-view.toggle-focus()
tree-view.reveal-active-file()
答案 0 :(得分:3)
您可以使用atom.commands.dispatch()
方法在抓住要发送命令的对象时发送命令很难。在您的情况下,您可以使用:
atom.commands.add 'atom-editor', 'custom:show-active-file', ->
atom.commands.dispatch(atom.workspaceView.element, 'tree-view:toggle-focus')
atom.commands.dispatch(atom.workspaceView.element, 'tree-view:reveal-active-file')
答案 1 :(得分:0)
可悲的是,李的答案不再正确。在API的更改中,将atom.workspaceView
的命名更改为atom.workspace
。
因此,如果有人到达这里(确保问题和答案有点“陈旧”),这就是当前的工作脚本。
atom.commands.add 'atom-editor', 'custom:show-active-file', ->
atom.commands.dispatch(atom.workspace.element, 'tree-view:toggle-focus')
atom.commands.dispatch(atom.workspace.element, 'tree-view:reveal-active-file')
@Source
https://discuss.atom.io/t/workspaceview-events/14595/4