VSCode插件将进程的画面嵌入

我正在编写一个 VSCode 的插件, 如何把子进程(或者普通进程)显示的画面嵌入到 VSCode 中

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 帮你找了个相似的问题, 你可以看下: https://ask.csdn.net/questions/7517933
  • 这篇博客你也可以参考下:VsCode的 code . 失效了?如何解决
  • 除此之外, 这篇博客: vscode修改扩展程序的安装位置(两种方法测试均可使用)中的 第二种:(vscode可以不用安装在电脑上) 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:

    这个方法详细内容可以参考官方的说明

    portable mode

    在这里插入图片描述

    在安装包的解压目录下面新建一个data文件夹即可,使用过程中的用户数据和扩展程序都在这个文件夹中

    在这里插入图片描述

  • 您还可以看一下 郭宏志老师的玩转vscode课程中的 VS Code简介小节, 巩固相关知识点
  • 以下回答来自chatgpt:

    对于将子进程或普通进程的画面嵌入到VSCode插件中的需求,可以使用webview来实现。以下是实现的步骤:

    1. 在插件的package.json文件中添加contributes字段,指定插件支持webview:
    "contributes": {
      "viewsContainers": {
        "activitybar": [
          {
            "id": "myWebView",
            "title": "My Webview",
            "icon": "images/my-webview.png"
          }
        ]
      },
      "views": {
        "myWebView": [
          {
            "id": "myWebview",
            "name": "My Webview"
          }
        ]
      }
    }
    

    以上代码添加了一个名为myWebview的webview。

    1. 创建webview的html文件。在插件的extension.ts中定义webview的内容:
    import * as vscode from 'vscode';
    
    export function activate(context: vscode.ExtensionContext) {
      const myWebView = vscode.window.createWebviewPanel(
        'myWebView',
        'My Webview',
        vscode.ViewColumn.One,
        {}
      );
    
      myWebView.webview.html = getWebviewContent();
    }
    
    function getWebviewContent() {
      return `
        <html>
          <body>
            <iframe src="https://example.com"></iframe>
          </body>
        </html>
      `;
    }
    

    以上代码创建了一个名为myWebView的webview,并指定了webview的内容为一个包含了一个iframe的html页面。

    1. 运行插件,点击插件的图标,就会显示包含了网页的webview。

    注意事项: - HTML页面中的网址可以是任意合法的网址,也可以是本地文件路径,具体根据需求来决定。 - webview还可以根据需要进行更复杂的交互和定制,具体可以参考VSCode的官方文档和示例。

    希望以上解决方案能满足你的需求。如果有任何问题,请随时提问。


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^