import * as vscode from 'vscode'; import { TiaProjectTreeView } from './TiaProjectTreeView.js'; import { extensionName } from './ExtensionInformation.js'; import { TiaProjectServerFetchApi } from './TiaProjectServerFetchApi.js'; let tiaProjectTreeView: TiaProjectTreeView; export function activate(context: vscode.ExtensionContext) { //const isServerRunning = context.globalState.get(extensionId + '.serverRunning', false); let cfg = vscode.workspace.getConfiguration(extensionName); const baseUri = cfg.get("tiaPortalProjectServerUri"); //if (isServerRunning) TiaProjectServerFetchApi.updateBaseuriAndLaunchServer(baseUri); tiaProjectTreeView = new TiaProjectTreeView(context); context.subscriptions.push(vscode.workspace.onDidChangeConfiguration(e => { if (e.affectsConfiguration('simatic-ax-tia-projects-addon.tiaPortalProjectServerUri')) { let cfg = vscode.workspace.getConfiguration('simatic-ax-tia-projects-addon'); let baseUri = cfg.get("tiaPortalProjectServerUri"); TiaProjectServerFetchApi.updateBaseuriAndLaunchServer(baseUri); } })); context.subscriptions.push(vscode.commands.registerCommand('simatic-ax-tia-projects-addon.openTiaProject', async (uri: vscode.Uri) => { await tiaProjectTreeView.openTiaProject(uri.toString()); })); context.subscriptions.push(vscode.commands.registerCommand('simatic-ax-tia-projects-addon.closeProject', async (item: vscode.TreeItem) => { await tiaProjectTreeView.closeProject(item) })); } export async function deactivate(context: vscode.ExtensionContext) { //const openWindows = await vscode.commands.executeCommand('workbench.action.listWindows'); //if (openWindows <= 1) TiaProjectServerFetchApi.stopServer(); }