(context: vscode.ExtensionContext)
| 20 | let licenseService: LicenseService; |
| 21 | |
| 22 | export async function activate(context: vscode.ExtensionContext) { |
| 23 | licenseService = new LicenseService(context.secrets); |
| 24 | await licenseService.initialize(); |
| 25 | setLicenseChecker(() => licenseService.isValid()); |
| 26 | |
| 27 | remoteCredentialService.setExtensionContext(context); |
| 28 | remoteConnectionStorageService.setExtensionContext(context); |
| 29 | |
| 30 | showWelcomeMessage(context, licenseService.isValid()); |
| 31 | |
| 32 | let assets; |
| 33 | |
| 34 | try { |
| 35 | assets = await getVueAssets(context) |
| 36 | } catch (error) { |
| 37 | return vscode.window.showErrorMessage(`Could not load frontend assets: ${String(error)}`); |
| 38 | } |
| 39 | |
| 40 | if (!assets) return vscode.window.showErrorMessage('Could not load frontend assets') |
| 41 | |
| 42 | if (!devDbViewProvider) { |
| 43 | devDbViewProvider = new DevDbViewProvider(context, assets.jsFile, assets.cssFile); |
| 44 | } |
| 45 | |
| 46 | const provider = vscode.window.registerWebviewViewProvider( |
| 47 | DevDbViewProvider.viewType, |
| 48 | devDbViewProvider, |
| 49 | { |
| 50 | webviewOptions: { |
| 51 | retainContextWhenHidden: true, |
| 52 | } |
| 53 | } |
| 54 | ); |
| 55 | |
| 56 | const settings = vscode.workspace.getConfiguration('Devdb'); |
| 57 | if (settings.get<boolean>('enableMcpServer', true)) { |
| 58 | try { |
| 59 | await startHttpServer(); |
| 60 | logToOutput('MCP HTTP server started', 'MCP Server'); |
| 61 | } catch (error) { |
| 62 | vscode.window.showErrorMessage(`Failed to start MCP server: ${error}`); |
| 63 | } |
| 64 | } |
| 65 | |
| 66 | context.subscriptions.push(provider); |
| 67 | |
| 68 | context.subscriptions.push(vscode.commands.registerCommand('devdb.codelens.open-laravel-model-table', tableName => { |
| 69 | if (!devDbViewProvider) return; |
| 70 | |
| 71 | devDbViewProvider.setActiveTable(tableName); |
| 72 | })); |
| 73 | |
| 74 | context.subscriptions.push(vscode.commands.registerCommand('devdb.context-menu.open-table-at-cursor', () => { |
| 75 | if (!devDbViewProvider) return; |
| 76 | |
| 77 | devDbViewProvider.openTableAtCurrentCursor(); |
| 78 | })); |
| 79 |
nothing calls this directly
no test coverage detected