{"id":26921588,"url":"https://github.com/mpx-ecology/language-tools","last_synced_at":"2026-05-22T16:34:51.314Z","repository":{"id":285210109,"uuid":"957318283","full_name":"mpx-ecology/language-tools","owner":"mpx-ecology","description":"🧩 ​Next-generation Mpx language tooling powered by Volar.js.","archived":false,"fork":false,"pushed_at":"2026-03-13T08:33:37.000Z","size":1180,"stargazers_count":7,"open_issues_count":5,"forks_count":4,"subscribers_count":4,"default_branch":"main","last_synced_at":"2026-03-28T18:15:06.688Z","etag":null,"topics":["lsp","mpx","vscode-extensions"],"latest_commit_sha":null,"homepage":"https://marketplace.visualstudio.com/items?itemName=mpxjs.mpx-official","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mpx-ecology.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-03-30T04:02:13.000Z","updated_at":"2026-03-13T08:33:38.000Z","dependencies_parsed_at":"2025-06-07T04:24:36.085Z","dependency_job_id":"e9fcf8df-4e25-4fce-8a84-641fcf46dcc7","html_url":"https://github.com/mpx-ecology/language-tools","commit_stats":null,"previous_names":["mpx-ecology/language-tools"],"tags_count":45,"template":false,"template_full_name":null,"purl":"pkg:github/mpx-ecology/language-tools","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mpx-ecology%2Flanguage-tools","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mpx-ecology%2Flanguage-tools/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mpx-ecology%2Flanguage-tools/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mpx-ecology%2Flanguage-tools/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mpx-ecology","download_url":"https://codeload.github.com/mpx-ecology/language-tools/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mpx-ecology%2Flanguage-tools/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33354036,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-21T12:23:38.849Z","status":"online","status_checked_at":"2026-05-22T02:00:06.671Z","response_time":265,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["lsp","mpx","vscode-extensions"],"created_at":"2025-04-01T23:34:55.259Z","updated_at":"2026-05-22T16:34:51.308Z","avatar_url":"https://github.com/mpx-ecology.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Mpx Language Tools\n\n[![vscode-market-version-badge]][vscode-market-mpx-official]\n[![vscode-market-downloads-badge]][vscode-market-mpx-official]\n[![vscode-market-installs-badge]][vscode-market-mpx-official]\n[![open-vsx-version-badge]][open-vsx-mpx-official]\n[![open-vsx-downloads-badge]][open-vsx-mpx-official]\n[![license-badge]][license-url]\n[![Ask DeepWiki](https://deepwiki.com/badge.svg)][mpx-deepwiki]\n\n## Why new Extension?\n\n### Background\n\n旧版插件 [vscode-mpx] 基于 Vue 2 的 [Vetur] 实现，目前维护不活跃，且存在功能局限性。另一款旧插件 [mpx-template-features] 针对 Mpx 模板补强了定义跳转等功能，但仍存在不足。随着 Vue 3 转向基于 [Volar] 的新插件 [Vue - Official][vue-official]，我们决定全新打造基于 [Volar] 的 Mpx 新版插件，提供更丰富的语言特性和更流畅的开发体验，以满足现代 Mpx 项目需求。\n\n### Feature Comparison\n\n| Feature                                      | Legacy | New           |\n| -------------------------------------------- | ------ | ------------- |\n| 语法高亮                                     | ✅     | ✅            |\n| SFC blocks 语言支持                          | ✅     | ✅            |\n| Emmet 支持                                   | ✅     | ✅            |\n| 代码片段 snippets                            | ✅     | ✅ (enhanced) |\n| 格式化 formatter                             | ✅     | ✅ (enhanced) |\n| \\\u003ctemplate\\\u003e 原生组件标签及属性补全提示      | ✅     | ✅ (enhanced) |\n| 关联 tsconfig 配置                           | ✅     | ✅ (enhanced) |\n| 支持 Monorepo                                | ❌     | ✅            |\n| 支持选择 typescript 版本                     | ❌     | ✅            |\n| SFC 编辑器视图拆分                           | ❌     | ✅            |\n| \\\u003ctemplate\\\u003e 支持 TS 类型检查、补全提示...   | ❌     | ✅            |\n| \\\u003ctemplate\\\u003e 支持定义跳转、查找参考引用      | ❌     | ✅            |\n| \\\u003ctemplate\\\u003e 样式类名跳转 \\\u003cstyle\\\u003e          | ❌     | ✅            |\n| \\\u003ctemplate\\\u003e style 属性支持原生 CSS 补全提示 | ❌     | ✅            |\n| \\\u003ctemplate\\\u003e 原生组件属性检查                | ❌     | ✅            |\n| \\\u003ctemplate\\\u003e 自定义组件跳转                  | ❌     | ✅            |\n| \\\u003ctemplate\\\u003e `{{}}` 内插值代码高亮显示       | ❌     | ✅            |\n| \\\u003cjson\\\u003e mpx json 语法 schema 支持           | ❌     | ✅            |\n\n## Extension Features\n\n有关插件详细功能介绍和使用说明，请参阅 [Wiki 文档][mpx-vscode-wiki]。\n\n## Core Packages\n\n| Package                                    | Version                                                        | Description            | Changelog                        |\n| ------------------------------------------ | -------------------------------------------------------------- | ---------------------- | -------------------------------- |\n| [mpx-official][vscode-repo]                | [![vscode-market-version-badge-1]][vscode-market-mpx-official] | VS Code extension      | [changelog][changelog]           |\n| [@mpxjs/language-server][server-repo]      | [![server-npm-version-badge]][server-npm-link]                 | LSP server             | [changelog][changelog-server]    |\n| [@mpxjs/language-service][service-repo]    | [![service-npm-version-badge]][service-npm-link]               | Language service layer | [changelog][changelog-service]   |\n| [@mpxjs/language-core][core-repo]          | [![core-npm-version-badge]][core-npm-link]                     | Language core layer    | [changelog][changelog-core]      |\n| [@mpxjs/language-shared][shared-repo]      | [![shared-npm-version-badge]][shared-npm-link]                 | Shared utilities       | [changelog][changelog-shared]    |\n| [@mpxjs/typescript-plugin][ts-plugin-repo] | [![ts-plugin-npm-version-badge]][ts-plugin-npm-link]           | TypeScript plugin      | [changelog][changelog-ts-plugin] |\n\n## Dependency Flow\n\n```mermaid\n---\nconfig:\n  theme: neutral\n---\nflowchart TD\n  %% Define all packages\n  shared[ @mpxjs/language-shared ]\n  core[ @mpxjs/language-core ]\n  typescript[ @mpxjs/typescript-plugin ]\n  service[ @mpxjs/language-service ]\n  server[ @mpxjs/language-server ]\n  vscode[ Mpx VSCode extension ]\n\n  %% Define dependencies\n  typescript -.-\u003e service\n  typescript -.-\u003e vscode\n  shared --\u003e core\n  shared --\u003e service\n  core --\u003e typescript\n  core --\u003e service\n  service --\u003e server\n  core --\u003e server\n  server --\u003e |LSP| vscode\n\n  %% Styling\n  classDef core fill:#d4f1f9\n  classDef typescript fill:#ececff\n  classDef extension fill:#d5e8d4\n\n  class shared,core,service,server core\n  class typescript typescript\n  class vscode,inspect extension\n```\n\n## Contributing\n\nFor details on how to contribute to this project, please refer to our [Contributing Guide][contributing-guide].\n\n## Dive In\n\nFor architecture details and source code documentation, please refer to our [Deepwiki][mpx-deepwiki].\n\n## RoadMap\n\nFor details on our planned features and future direction, please refer to our [Roadmap].\n\n## Credits\n\n- [vue-language-tools] \u0026 [Volar], created by [Johnson Chu].\n- [vscode-mpx], a legacy VS Code extension for Mpx, created by [pagnkelly].\n- [mpx-template-features], a legacy VS Code extension for Mpx template, created by [Soon Wang].\n\n\u003c!-- Reference Links --\u003e\n\n[vscode-mpx]: https://marketplace.visualstudio.com/items?itemName=pagnkelly.mpx\n[mpx-template-features]: https://marketplace.visualstudio.com/items?itemName=wangshun.mpx-template-features\n[vetur]: https://github.com/vuejs/vetur\n[Volar]: https://github.com/volarjs/volar.js\n[vue-official]: https://marketplace.visualstudio.com/items?itemName=Vue.volar\n[vue-language-tools]: https://github.com/vuejs/language-tools\n[mpx-deepwiki]: https://deepwiki.com/mpx-ecology/language-tools\n[mpx-vscode-wiki]: https://github.com/mpx-ecology/language-tools/wiki\n[roadmap]: https://github.com/mpx-ecology/language-tools/discussions/4\n[Johnson Chu]: https://github.com/johnsoncodehk\n[pagnkelly]: https://github.com/pagnkelly\n[Soon Wang]: https://github.com/wangshunnn\n[contributing-guide]: ./CONTRIBUTING.md\n[license-badge]: https://img.shields.io/badge/license-MIT-blue\n[license-url]: https://github.com/mpx-ecology/language-tools/blob/main/LICENSE\n\n\u003c!-- Package Links --\u003e\n\n[vscode-repo]: https://github.com/mpx-ecology/language-tools/blob/main/vscode\n[server-repo]: https://github.com/mpx-ecology/language-tools/blob/main/packages/language-server\n[service-repo]: https://github.com/mpx-ecology/language-tools/blob/main/packages/language-service\n[core-repo]: https://github.com/mpx-ecology/language-tools/blob/main/packages/language-core\n[shared-repo]: https://github.com/mpx-ecology/language-tools/blob/main/packages/language-shared\n[ts-plugin-repo]: https://github.com/mpx-ecology/language-tools/blob/main/packages/typescript-plugin\n\n\u003c!-- Extension Links --\u003e\n\n[vscode-market-version-badge]: https://img.shields.io/vscode-marketplace/v/mpxjs.mpx-official?label=VS%20Code\u0026style=flat\n[vscode-market-version-badge-1]: https://img.shields.io/vscode-marketplace/v/mpxjs.mpx-official?label=Mpx%20(Official)\u0026style=flat\n[vscode-market-downloads-badge]: https://img.shields.io/vscode-marketplace/d/mpxjs.mpx-official?label=VS%20Code%20Downloads\u0026style=flat\u0026color=brightgreen\n[vscode-market-installs-badge]: https://img.shields.io/vscode-marketplace/i/mpxjs.mpx-official?label=VS%20Code%20Installs\u0026style=flat\u0026color=brightgreen\n[vscode-market-mpx-official]: https://marketplace.visualstudio.com/items?itemName=mpxjs.mpx-official\n[open-vsx-version-badge]: https://img.shields.io/open-vsx/v/mpxjs/mpx-official?label=Open%20VSX\u0026style=flat\n[open-vsx-downloads-badge]: https://img.shields.io/open-vsx/dt/mpxjs/mpx-official?label=Open%20VSX%20Downloads\u0026style=flat\u0026color=brightgreen\n[open-vsx-mpx-official]: https://open-vsx.org/extension/mpxjs/mpx-official\n\n\u003c!-- NPM Badge Links --\u003e\n\n[server-npm-version-badge]: https://img.shields.io/npm/v/@mpxjs/language-server/latest\n[server-npm-downloads-badge]: https://img.shields.io/npm/dy/@mpxjs/language-server\n[server-npm-link]: https://www.npmjs.com/package/@mpxjs/language-server\n[service-npm-version-badge]: https://img.shields.io/npm/v/@mpxjs/language-service/latest\n[service-npm-downloads-badge]: https://img.shields.io/npm/dy/@mpxjs/language-service\n[service-npm-link]: https://www.npmjs.com/package/@mpxjs/language-service\n[core-npm-version-badge]: https://img.shields.io/npm/v/@mpxjs/language-core/latest\n[core-npm-downloads-badge]: https://img.shields.io/npm/dy/@mpxjs/language-core\n[core-npm-link]: https://www.npmjs.com/package/@mpxjs/language-core\n[shared-npm-version-badge]: https://img.shields.io/npm/v/@mpxjs/language-shared/latest\n[shared-npm-downloads-badge]: https://img.shields.io/npm/dy/@mpxjs/language-shared\n[shared-npm-link]: https://www.npmjs.com/package/@mpxjs/language-shared\n[ts-plugin-npm-version-badge]: https://img.shields.io/npm/v/@mpxjs/typescript-plugin/latest\n[ts-plugin-npm-downloads-badge]: https://img.shields.io/npm/dy/@mpxjs/typescript-plugin\n[ts-plugin-npm-link]: https://www.npmjs.com/package/@mpxjs/typescript-plugin\n\n\u003c!-- Changelog --\u003e\n\n[changelog]: https://github.com/mpx-ecology/language-tools/blob/main/CHANGELOG.md\n[changelog-vscode]: https://github.com/mpx-ecology/language-tools/blob/main/vscode/CHANGELOG.md\n[changelog-server]: https://github.com/mpx-ecology/language-tools/blob/main/packages/language-server/CHANGELOG.md\n[changelog-service]: https://github.com/mpx-ecology/language-tools/blob/main/packages/language-service/CHANGELOG.md\n[changelog-core]: https://github.com/mpx-ecology/language-tools/blob/main/packages/language-core/CHANGELOG.md\n[changelog-shared]: https://github.com/mpx-ecology/language-tools/blob/main/packages/language-shared/CHANGELOG.md\n[changelog-ts-plugin]: https://github.com/mpx-ecology/language-tools/blob/main/packages/typescript-plugin/CHANGELOG.md\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmpx-ecology%2Flanguage-tools","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmpx-ecology%2Flanguage-tools","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmpx-ecology%2Flanguage-tools/lists"}