Atom插件 - 在窗口加载时触发

时间:2018-02-21 09:21:23

标签: javascript plugins atom-editor

我为atom构建了一个非常简单的插件,可以将.env个文件变量加载到Atom环境中。

在插件的activate函数中,我触发函数this.myFunc(),在此之前我使用onDidChangePaths订阅atom.project.onDidChangePaths(this.myFunc)

this.myFunc(为了简洁)只需设置一些全局变量:process.env["MY_VAR"] = "MY_VAL"。如果我在控制台之前和之后登录env键,我认为没有区别。

似乎在进程'环境准备就绪之前调用了activate函数,因为当我尝试在控制台中访问MY_VAR时(通过console.log(MY_VAR)),它返回undefined除非我再次手动调用this.myFunc()(加载后)。

我尝试禁用所有其他社区插件,认为这是其中一个重置环境变量,没有任何运气。

如何让我的插件激活并“等待”全局上下文准备好?我没有找到任何记录的方法来做到这一点。

非常感谢:)

1 个答案:

答案 0 :(得分:0)

在init.coffee(Edit-> config)上尝试这样的事情:

atom.packages.onDidActivateInitialPackages ->
  workspaceView = atom.views.getView(atom.workspace)
  atom.commands.dispatch(workspaceView, 'my-package:init')