首页
/ 【亲测免费】 vscode-qt-for-python 项目教程

【亲测免费】 vscode-qt-for-python 项目教程

2026-01-18 10:28:56作者:何举烈Damon

1. 项目的目录结构及介绍

vscode-qt-for-python/
├── .github/
│   └── workflows/
│       └── main.yml
├── images/
│   └── logo.png
├── src/
│   ├── extension.ts
│   ├── languageFeatures.ts
│   ├── qmlFormatter.ts
│   ├── qmlPreview.ts
│   ├── qmlSyntax.ts
│   └── utils.ts
├── package.json
├── README.md
└── CHANGELOG.md
  • .github/workflows/main.yml: GitHub Actions 的工作流配置文件,用于自动化构建和发布。
  • images/logo.png: 项目的 logo 图片。
  • src/: 包含扩展的主要源代码文件。
    • extension.ts: 扩展的主入口文件。
    • languageFeatures.ts: 提供语言特性支持,如代码补全、悬停提示等。
    • qmlFormatter.ts: QML 文件格式化功能。
    • qmlPreview.ts: QML 文件预览功能。
    • qmlSyntax.ts: QML 语法高亮功能。
    • utils.ts: 工具函数和辅助类。
  • package.json: 扩展的元数据和依赖管理文件。
  • README.md: 项目的说明文档。
  • CHANGELOG.md: 项目的更新日志。

2. 项目的启动文件介绍

项目的启动文件是 src/extension.ts。这个文件是扩展的入口点,负责初始化扩展并注册各种功能。以下是 extension.ts 的主要内容:

import * as vscode from 'vscode';
import { activateLanguageFeatures } from './languageFeatures';
import { activateQmlFormatter } from './qmlFormatter';
import { activateQmlPreview } from './qmlPreview';
import { activateQmlSyntax } from './qmlSyntax';

export function activate(context: vscode.ExtensionContext) {
    activateLanguageFeatures(context);
    activateQmlFormatter(context);
    activateQmlPreview(context);
    activateQmlSyntax(context);
}

export function deactivate() {}
  • activate: 扩展激活时调用的函数,初始化并注册所有功能模块。
  • deactivate: 扩展停用时调用的函数,目前为空。

3. 项目的配置文件介绍

项目的配置文件是 package.json。这个文件包含了扩展的所有元数据、依赖项和命令配置。以下是 package.json 的主要内容:

{
  "name": "vscode-qt-for-python",
  "displayName": "Qt for Python",
  "description": "Visual Studio Code extension for PySide6 and PyQt6",
  "version": "1.0.0",
  "publisher": "seanwu1105",
  "engines": {
    "vscode": "^1.50.0"
  },
  "categories": [
    "Programming Languages"
  ],
  "activationEvents": [
    "onLanguage:qml",
    "onCommand:extension.previewQml"
  ],
  "main": "./src/extension.ts",
  "contributes": {
    "commands": [
      {
        "command": "extension.previewQml",
        "title": "Preview QML"
      }
    ],
    "languages": [
      {
        "id": "qml",
        "extensions": [
          ".qml",
          ".qmldir"
        ],
        "configuration": "./language-configuration.json"
      }
    ],
    "grammars": [
      {
        "language": "qml",
        "scopeName": "source.qml",
        "path": "./syntaxes/qml.tmLanguage.json"
      }
    ]
  },
  "scripts": {
    "vscode:prepublish": "npm run compile",
    "compile": "tsc -p ./",
    "watch": "tsc -watch -p ./",
    "postinstall": "node ./node_modules/vscode/bin/install",
    "test": "npm run compile && node ./node_modules/vscode/bin/test
登录后查看全文
热门项目推荐
相关项目推荐