【问题标题】:Reopen the file in the default editor from a VSCode custom text editor extension从 VSCode 自定义文本编辑器扩展在默认编辑器中重新打开文件
【发布时间】:2022-10-16 17:03:17
【问题描述】:

我正在创建一个 VSCode CustomTextEditor 扩展。 该扩展在 YAML 文件上激活,但设计上只支持其中的一小部分。它是不是可以通过文件名/扩展名或文件的第一行可靠地检测支持的文件。

我希望扩展在 VSCode 的标准文本编辑器中重新打开不受支持的文件,这样用户体验就不会降低。

我尝试使用“workbench.action.reopenWithEditor”命令,它只显示用户必须注意并单击的编辑器选择菜单。

我尝试使用“vscode.openWith”命令在默认文本编辑器中打开文件。该文件将打开,但它不会替换保持空白的原始自定义编辑器选项卡。

如何以编程方式在默认文本编辑器中重新打开当前文件?

回覆打开

当前的

  public async resolveCustomTextEditor(
    document: vscode.TextDocument,
    webviewPanel: vscode.WebviewPanel,
    _token: vscode.CancellationToken
  ): Promise<void> {
    const documentText = document.getText();
    if (!documentText.match(/implementation:\s*graph:/))) {
      vscode.commands.executeCommand(
        "vscode.openWith",
        document.uri,
        "default",
        webviewPanel.viewColumn
      );
      // Not loading HTML into the webview
      return;
    }
    ...
  }

【问题讨论】:

    标签: visual-studio-code vscode-extensions


    【解决方案1】:

    您可以使用以下命令在打开默认编辑器之前关闭活动的 webview 编辑器:

    vscode.commands.executeCommand('workbench.action.closeActiveEditor')
    

    【讨论】:

      猜你喜欢
      • 2021-09-24
      • 2012-11-17
      • 1970-01-01
      • 1970-01-01
      • 2013-07-16
      • 2017-02-07
      • 2013-02-28
      • 1970-01-01
      • 2012-08-03
      相关资源
      最近更新 更多