【问题标题】:is there some event like onEditorOpen?有像 onEditorOpen 这样的事件吗?
【发布时间】:2018-01-06 16:02:44
【问题描述】:

我想做什么

我想写一个插件,可以使用用户配置的 cmd 打开文件(哪些代码不能)。

用户配置喜欢

{
    'mp3':'c:/mp3player/mp3.exe {file_path}'
}

当我使用代码打开一个 mp3 时,插件会运行这个 cmd

什么问题

我无法在每个打开的文件上触发我的事件

我知道/尝试的事情

vscode 有一些类似的事件

  1. workspaceContains:${toplevelfilename}
  2. onLanguage:${语言}

但所有这些都是 package.json 中的硬代码,无法在所有文件类型上触发

帮帮我

有什么建议吗?也许这不是一个 vscode 插件应该做的?
谢谢

【问题讨论】:

    标签: visual-studio-code vscode-extensions vscode-settings


    【解决方案1】:

    通常的方法是监听didOpen工作区事件:

    workspace.onDidOpenTextDocument((doc: TextDocument) => {
        if (doc.languageId == "mp3" && doc.uri.scheme === "file") {
            // do something
        }
    });
    

    但请注意:vscode 不允许打开大文件或二进制文件。因此,它不会为此激活您的扩展程序。

    【讨论】:

      【解决方案2】:

      您可以使用 VS Code 的自定义编辑器 API 创建这样的应用程序。

      似乎已经有一个播放音频文件的扩展。 https://marketplace.visualstudio.com/items?itemName=sukumo28.wav-preview

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-10-27
        • 1970-01-01
        • 2021-05-19
        • 2013-05-02
        相关资源
        最近更新 更多