You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何获取VSCode所有扩展列表并在PyQt5列表部件中展示?

获取VSCode已安装扩展并显示在PyQt5 List Widget中

核心思路

VSCode自带命令行工具可以列出已安装扩展,通过Python的subprocess模块调用该命令,解析输出后即可将内容添加到PyQt5的QListWidget中。

实现步骤

  1. 调用VSCode命令行获取扩展列表
    使用code --list-extensions命令可获取所有已安装扩展的ID;如果需要版本信息,加上--show-versions参数即可。

  2. 解析命令输出
    捕获命令执行后的标准输出,按行分割得到每个扩展的信息。

  3. 加载到PyQt5 List Widget
    遍历解析后的扩展列表,逐个创建QListWidgetItem并添加到控件中。

完整代码示例

import subprocess
from PyQt5.QtWidgets import QApplication, QWidget, QListWidget, QVBoxLayout

def get_vscode_extensions(include_version=True):
    # 构建命令
    cmd = ["code", "--list-extensions"]
    if include_version:
        cmd.append("--show-versions")
    
    try:
        # 执行命令并捕获输出
        result = subprocess.run(cmd, capture_output=True, text=True, check=True)
        # 按行分割输出,过滤空行
        extensions = [line.strip() for line in result.stdout.splitlines() if line.strip()]
        return extensions
    except subprocess.CalledProcessError as e:
        print(f"获取扩展列表失败: {e.stderr}")
        return []
    except FileNotFoundError:
        print("未找到VSCode命令行工具,请确保VSCode已添加到系统PATH,或指定code的绝对路径")
        return []

if __name__ == "__main__":
    app = QApplication([])
    window = QWidget()
    window.setWindowTitle("VSCode已安装扩展")
    layout = QVBoxLayout(window)
    
    list_widget = QListWidget()
    layout.addWidget(list_widget)
    
    # 获取扩展列表并添加到List Widget
    extensions = get_vscode_extensions()
    for ext in extensions:
        list_widget.addItem(ext)
    
    window.resize(400, 600)
    window.show()
    app.exec_()

注意事项

  • 如果VSCode未添加到系统PATH,需要将cmd中的"code"替换为VSCode命令行工具的绝对路径:
    • Windows: "C:\\Program Files\\Microsoft VS Code\\bin\\code.cmd"
    • macOS: "/Applications/Visual Studio Code.app/Contents/Resources/app/bin/code"
    • Linux: "/usr/bin/code"

内容的提问来源于stack exchange,提问作者Kned

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.07 23:45:34