diff --git a/test-tools/wamr-ide/VSCode-Extension/package.json b/test-tools/wamr-ide/VSCode-Extension/package.json index bb8a5cee1..dfe37961b 100644 --- a/test-tools/wamr-ide/VSCode-Extension/package.json +++ b/test-tools/wamr-ide/VSCode-Extension/package.json @@ -6,7 +6,7 @@ }, "displayName": "WAMR-IDE", "description": "An Integrated Development Environment for WASM", - "version": "1.1.2", + "version": "1.2.1", "engines": { "vscode": "^1.59.0" }, diff --git a/test-tools/wamr-ide/VSCode-Extension/src/debugConfigurationProvider.ts b/test-tools/wamr-ide/VSCode-Extension/src/debugConfigurationProvider.ts index 6294f7efe..e7b42bf03 100644 --- a/test-tools/wamr-ide/VSCode-Extension/src/debugConfigurationProvider.ts +++ b/test-tools/wamr-ide/VSCode-Extension/src/debugConfigurationProvider.ts @@ -7,52 +7,33 @@ import * as vscode from 'vscode'; import * as os from 'os'; export class WasmDebugConfigurationProvider - implements vscode.DebugConfigurationProvider -{ - /* default port set as 1234 */ - private port = 1234; - private hostPath!: string; - private providerPromise: Thenable | undefined = - undefined; + implements vscode.DebugConfigurationProvider { + private wasmDebugConfig = { + type: 'wamr-debug', + name: 'Attach', + request: 'attach', + stopOnEntry: true, + initCommands: os.platform() === 'win32' || os.platform() === 'darwin' ? + /* linux and windows has different debug configuration */ + ['platform select remote-linux'] : + undefined, + attachCommands: [ + /* default port 1234 */ + 'process connect -p wasm connect://127.0.0.1:1234', + ] + }; - private wasmDebugConfig!: vscode.DebugConfiguration; + public resolveDebugConfiguration( + _: vscode.WorkspaceFolder | undefined, + debugConfiguration: vscode.DebugConfiguration, + ): vscode.ProviderResult { - public resolveDebugConfiguration(): - | Thenable - | undefined { - if (!this.providerPromise) { - this.providerPromise = Promise.resolve(this.wasmDebugConfig); - return this.providerPromise; - } - return this.providerPromise; - } + this.wasmDebugConfig = { + ...this.wasmDebugConfig, + ...debugConfiguration + }; - public setDebugConfig(hostPath: string, port: number): void { - this.port = port; - this.hostPath = hostPath; - /* linux and windows has different debug configuration */ - if (os.platform() === 'win32' || os.platform() === 'darwin') { - this.wasmDebugConfig = { - type: 'wamr-debug', - name: 'Attach', - request: 'attach', - ['stopOnEntry']: true, - ['initCommands']: ['platform select remote-linux'], - ['attachCommands']: [ - 'process connect -p wasm connect://127.0.0.1:' + port + '', - ], - }; - } else if (os.platform() === 'linux') { - this.wasmDebugConfig = { - type: 'wamr-debug', - name: 'Attach', - request: 'attach', - ['stopOnEntry']: true, - ['attachCommands']: [ - 'process connect -p wasm connect://127.0.0.1:' + port + '', - ], - }; - } + return this.wasmDebugConfig; } public getDebugConfig(): vscode.DebugConfiguration { diff --git a/test-tools/wamr-ide/VSCode-Extension/src/extension.ts b/test-tools/wamr-ide/VSCode-Extension/src/extension.ts index 9d979b7ac..523b26b83 100644 --- a/test-tools/wamr-ide/VSCode-Extension/src/extension.ts +++ b/test-tools/wamr-ide/VSCode-Extension/src/extension.ts @@ -171,7 +171,6 @@ export async function activate(context: vscode.ExtensionContext) { /* register debug configuration */ wasmDebugConfigProvider = new WasmDebugConfigurationProvider(); - wasmDebugConfigProvider.setDebugConfig(currentPrjDir, 1234); vscode.debug.registerDebugConfigurationProvider( 'wamr-debug',