【发布时间】:2017-05-29 10:52:02
【问题描述】:
我想在 Atom 启动时运行各种命令,以便它以我期望的状态打开,而不必每次都手动运行这些命令。
我知道 init.coffee 在 Atom 启动时运行,但我不知道如何从那里运行命令。
【问题讨论】:
标签: command startup atom-editor
我想在 Atom 启动时运行各种命令,以便它以我期望的状态打开,而不必每次都手动运行这些命令。
我知道 init.coffee 在 Atom 启动时运行,但我不知道如何从那里运行命令。
【问题讨论】:
标签: command startup atom-editor
终于找到答案here:
atom.commands.dispatch(atom.views.getView(atom.workspace), 'package:command');
只需将package:command 更改为您想要的包和命令,然后将结果放入您的init.coffee。
package:command 与您在keymap.cson 中使用的语法相同。基本上,它是包的名称和您可以在命令面板中找到的命令的名称,但要小写并使用破折号而不是空格。例如:Fuzzy Finder: Toggle File Finder 变为 fuzzy-finder:toggle-file-finder
atom.views.getView(atom.workspace) 是将命令分派到整个工作区。如果您想改为以当前文本编辑器为目标,请尝试atom.views.getView(atom.workspace.getActiveTextEditor())。
您可以通过在开发工具控制台中运行它来测试整个东西(使用Window: Toggle Dev Tools、Ctrl+Shift+I 或F12 打开它)。
> atom.commands.dispatch(atom.views.getView(atom.workspace), 'fuzzy-finder:toggle-file-finder');
Promise {[[PromiseStatus]]: "resolved", [[PromiseValue]]: Array(1)}
【讨论】:
init.coffee 中,但我收到了这个错误:Failed to load C:\Users\User\.atom\init.coffee Cannot read property 'nodeName' of null
'package:command'?我怀疑它导致了这个问题。我添加了有关如何在开发工具控制台中对其进行测试的说明。也许您尝试运行的命令不适用于 atom.workspace 视图 - 在这种情况下,您需要确定要使用的正确视图。
fuzzy-finder:toggle-file-finder 为我工作。但是当我尝试时:atom.commands.dispatch(atom.views.getView(atom.workspace), "hydrogen-python:toggle-variable-explorer"); 它不起作用......有什么想法吗?
atom.views.getView(atom.workspace.getActiveTextEditor())。