mirror of
https://github.com/QwenLM/qwen-code.git
synced 2026-04-28 03:30:40 +00:00
All chat positions (sidebar, editor tab, panel, secondary sidebar) are now available simultaneously. Remove the old chat.location configuration and setChatLocation commands. Add focusChat, newConversation, and showLogs commands. Refactor ChatWebviewViewProvider to use lazy factory pattern and move webview files into providers/ subdirectory.
239 lines
5.9 KiB
JSON
239 lines
5.9 KiB
JSON
{
|
|
"name": "qwen-code-vscode-ide-companion",
|
|
"displayName": "Qwen Code Companion",
|
|
"description": "Enable Qwen Code with direct access to your VS Code workspace.",
|
|
"version": "0.12.0",
|
|
"publisher": "qwenlm",
|
|
"icon": "assets/icon.png",
|
|
"repository": {
|
|
"type": "git",
|
|
"url": "https://github.com/QwenLM/qwen-code.git",
|
|
"directory": "packages/vscode-ide-companion"
|
|
},
|
|
"engines": {
|
|
"vscode": "^1.85.0"
|
|
},
|
|
"license": "LICENSE",
|
|
"preview": true,
|
|
"categories": [
|
|
"AI"
|
|
],
|
|
"keywords": [
|
|
"qwen-code",
|
|
"qwen code",
|
|
"qwen",
|
|
"qwen code",
|
|
"cli",
|
|
"ide integration",
|
|
"ide companion"
|
|
],
|
|
"activationEvents": [
|
|
"onStartupFinished",
|
|
"onView:qwenCode.chatView.panel",
|
|
"onView:qwenCode.chatView.secondary",
|
|
"onView:qwenCode.chatView.sidebar",
|
|
"onCommand:qwen-code.openChat",
|
|
"onCommand:qwen-code.focusChat",
|
|
"onCommand:qwen-code.newConversation",
|
|
"onCommand:qwen-code.showLogs"
|
|
],
|
|
"contributes": {
|
|
"configuration": {
|
|
"title": "Qwen Code Companion",
|
|
"properties": {}
|
|
},
|
|
"viewsContainers": {
|
|
"activitybar": [
|
|
{
|
|
"id": "qwenCodeSidebar",
|
|
"title": "Qwen Code",
|
|
"icon": "assets/sidebar-icon.svg"
|
|
}
|
|
],
|
|
"panel": [
|
|
{
|
|
"id": "qwenCodePanel",
|
|
"title": "Qwen Code",
|
|
"icon": "assets/icon.png"
|
|
}
|
|
],
|
|
"secondarySidebar": [
|
|
{
|
|
"id": "qwenCodeSecondary",
|
|
"title": "Qwen Code",
|
|
"icon": "assets/icon.png"
|
|
}
|
|
]
|
|
},
|
|
"views": {
|
|
"qwenCodeSidebar": [
|
|
{
|
|
"type": "webview",
|
|
"id": "qwenCode.chatView.sidebar",
|
|
"name": "Qwen Code"
|
|
}
|
|
],
|
|
"qwenCodePanel": [
|
|
{
|
|
"id": "qwenCode.chatView.panel",
|
|
"name": "Qwen Code",
|
|
"icon": "assets/icon.png"
|
|
}
|
|
],
|
|
"qwenCodeSecondary": [
|
|
{
|
|
"id": "qwenCode.chatView.secondary",
|
|
"name": "Qwen Code",
|
|
"icon": "assets/icon.png"
|
|
}
|
|
]
|
|
},
|
|
"languages": [
|
|
{
|
|
"id": "qwen-diff-editable"
|
|
}
|
|
],
|
|
"commands": [
|
|
{
|
|
"command": "qwen.diff.accept",
|
|
"title": "Qwen Code: Accept Current Diff",
|
|
"icon": "$(check)"
|
|
},
|
|
{
|
|
"command": "qwen.diff.cancel",
|
|
"title": "Qwen Code: Close Diff Editor",
|
|
"icon": "$(close)"
|
|
},
|
|
{
|
|
"command": "qwen-code.runQwenCode",
|
|
"title": "Qwen Code: Run"
|
|
},
|
|
{
|
|
"command": "qwen-code.showNotices",
|
|
"title": "Qwen Code: View Third-Party Notices"
|
|
},
|
|
{
|
|
"command": "qwen-code.openChat",
|
|
"title": "Qwen Code: Open",
|
|
"icon": "./assets/icon.png"
|
|
},
|
|
{
|
|
"command": "qwen-code.login",
|
|
"title": "Qwen Code: Login"
|
|
},
|
|
{
|
|
"command": "qwen-code.focusChat",
|
|
"title": "Qwen Code: Focus Chat Input"
|
|
},
|
|
{
|
|
"command": "qwen-code.newConversation",
|
|
"title": "Qwen Code: New Conversation"
|
|
},
|
|
{
|
|
"command": "qwen-code.showLogs",
|
|
"title": "Qwen Code: Show Logs"
|
|
}
|
|
],
|
|
"menus": {
|
|
"commandPalette": [
|
|
{
|
|
"command": "qwen.diff.accept",
|
|
"when": "qwen.diff.isVisible"
|
|
},
|
|
{
|
|
"command": "qwen.diff.cancel",
|
|
"when": "qwen.diff.isVisible"
|
|
},
|
|
{
|
|
"command": "qwen-code.login",
|
|
"when": "false"
|
|
}
|
|
],
|
|
"editor/title": [
|
|
{
|
|
"command": "qwen.diff.accept",
|
|
"when": "qwen.diff.isVisible",
|
|
"group": "navigation"
|
|
},
|
|
{
|
|
"command": "qwen.diff.cancel",
|
|
"when": "qwen.diff.isVisible",
|
|
"group": "navigation"
|
|
},
|
|
{
|
|
"command": "qwen-code.openChat",
|
|
"group": "navigation"
|
|
}
|
|
]
|
|
},
|
|
"keybindings": [
|
|
{
|
|
"command": "qwen.diff.accept",
|
|
"key": "ctrl+s",
|
|
"when": "qwen.diff.isVisible"
|
|
},
|
|
{
|
|
"command": "qwen.diff.accept",
|
|
"key": "cmd+s",
|
|
"when": "qwen.diff.isVisible"
|
|
},
|
|
{
|
|
"command": "qwen-code.focusChat",
|
|
"key": "ctrl+shift+l",
|
|
"mac": "cmd+shift+l"
|
|
}
|
|
]
|
|
},
|
|
"main": "./dist/extension.cjs",
|
|
"type": "module",
|
|
"scripts": {
|
|
"prepackage": "node ./scripts/prepackage.js",
|
|
"build": "npm run build:dev",
|
|
"build:dev": "npm run check-types && npm run lint && node esbuild.js",
|
|
"build:prod": "node esbuild.js --production",
|
|
"generate:notices": "node ./scripts/generate-notices.js",
|
|
"prepare": "npm run generate:notices",
|
|
"check-types": "tsc --noEmit",
|
|
"lint": "eslint src",
|
|
"watch": "npm-run-all2 -p watch:*",
|
|
"watch:esbuild": "node esbuild.js --watch",
|
|
"watch:tsc": "tsc --noEmit --watch --project tsconfig.json",
|
|
"package": "vsce package --no-dependencies",
|
|
"test": "vitest run",
|
|
"test:ci": "vitest run --coverage",
|
|
"validate:notices": "node ./scripts/validate-notices.js"
|
|
},
|
|
"devDependencies": {
|
|
"@types/cors": "^2.8.19",
|
|
"@types/express": "^5.0.3",
|
|
"@types/markdown-it": "^14.1.2",
|
|
"@types/node": "20.x",
|
|
"@types/react": "^19.2.10",
|
|
"@types/react-dom": "^19.2.3",
|
|
"@types/semver": "^7.7.1",
|
|
"@types/vscode": "^1.85.0",
|
|
"@typescript-eslint/eslint-plugin": "^8.31.1",
|
|
"@typescript-eslint/parser": "^8.31.1",
|
|
"@vscode/vsce": "^3.6.0",
|
|
"autoprefixer": "^10.4.22",
|
|
"esbuild": "^0.25.3",
|
|
"eslint": "^9.25.1",
|
|
"eslint-plugin-react-hooks": "^5.2.0",
|
|
"npm-run-all2": "^8.0.2",
|
|
"postcss": "^8.5.6",
|
|
"tailwindcss": "^3.4.18",
|
|
"typescript": "^5.8.3",
|
|
"vitest": "^3.2.4"
|
|
},
|
|
"dependencies": {
|
|
"@qwen-code/webui": "*",
|
|
"@modelcontextprotocol/sdk": "^1.25.1",
|
|
"cors": "^2.8.5",
|
|
"express": "^5.1.0",
|
|
"markdown-it": "^14.1.0",
|
|
"react": "^19.2.4",
|
|
"react-dom": "^19.2.4",
|
|
"semver": "^7.7.2",
|
|
"zod": "^3.25.76"
|
|
}
|
|
}
|