This commit is contained in:
huangzhelong.byte 2025-03-25 15:50:43 +08:00
commit a8cde189e5
3 changed files with 4790 additions and 4813 deletions

View File

@ -10,49 +10,27 @@
"Other" "Other"
], ],
"activationEvents": [ "activationEvents": [
"*"
], ],
"main": "./dist/extension.js", "main": "./dist/extension.js",
"contributes": { "contributes": {
"commands": [ "viewsContainers": {
"activitybar": [
{ {
"command": "openmcp.helloWorld", "id": "openmcp-sidebar",
"title": "Hello World" "title": "OpenMCP",
"icon": "./icons/protocol.svg"
} }
], ]
},
"views": { "views": {
"explorer": [ "openmcp-sidebar": [
{ {
"id": "webview-sidebar.view", "id": "webview-sidebar.view",
"icon": "./icons/protocol.svg", "icon": "./icons/protocol.svg",
"name": "WebView" "name": "chatbot",
"type": "webview"
} }
] ]
} }
},
"scripts": {
"vscode:prepublish": "npm run package",
"compile": "webpack",
"watch": "webpack --watch",
"package": "webpack --mode production --devtool hidden-source-map",
"compile-tests": "tsc -p . --outDir out",
"watch-tests": "tsc -p . -w --outDir out",
"pretest": "npm run compile-tests && npm run compile && npm run lint",
"lint": "eslint src",
"test": "vscode-test"
},
"devDependencies": {
"@types/vscode": "^1.98.0",
"@types/mocha": "^10.0.10",
"@types/node": "20.x",
"@typescript-eslint/eslint-plugin": "^8.25.0",
"@typescript-eslint/parser": "^8.25.0",
"eslint": "^9.21.0",
"typescript": "^5.7.3",
"ts-loader": "^9.5.2",
"webpack": "^5.98.0",
"webpack-cli": "^6.0.1",
"@vscode/test-cli": "^0.0.10",
"@vscode/test-electron": "^2.4.1"
} }
} }

View File

@ -1,17 +1,10 @@
import * as vscode from 'vscode'; import * as vscode from 'vscode';
export function activate(context: vscode.ExtensionContext) { export function activate(context: vscode.ExtensionContext) {
// 注册 WebView 视图 console.log('activate openmcp'); // 确保插件已激活
console.log('activate');
const provider = new WebviewViewProvider(context.extensionUri); const provider = new WebviewViewProvider(context.extensionUri);
context.subscriptions.push(
vscode.commands.registerCommand('openmcp.helloWorld', () => {
vscode.window.showInformationMessage('Hello World!');
})
)
context.subscriptions.push( context.subscriptions.push(
vscode.window.registerWebviewViewProvider('webview-sidebar.view', provider) vscode.window.registerWebviewViewProvider('webview-sidebar.view', provider)
); );
@ -20,13 +13,19 @@ export function activate(context: vscode.ExtensionContext) {
class WebviewViewProvider implements vscode.WebviewViewProvider { class WebviewViewProvider implements vscode.WebviewViewProvider {
constructor(private readonly _extensionUri: vscode.Uri) {} constructor(private readonly _extensionUri: vscode.Uri) {}
public resolveWebviewView(webviewView: vscode.WebviewView) { public resolveWebviewView(
webviewView: vscode.WebviewView,
_context: vscode.WebviewViewResolveContext,
_token: vscode.CancellationToken,
) {
console.log('resolveWebviewView called'); // 确保方法被调用
webviewView.webview.options = { webviewView.webview.options = {
enableScripts: true, // 启用 JavaScript enableScripts: true,
}; };
// 设置 WebView 的 HTML 内容 const html = getWebviewContent();
webviewView.webview.html = getWebviewContent(); console.log('WebView HTML:', html); // 检查 HTML 内容
webviewView.webview.html = html;
} }
} }