File size: 3,079 Bytes
8266b5a
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
import * as vscode from 'vscode';

/**

 * API Documentation Generator VS Code Extension

 *

 * Features:



 */

let outputChannel: vscode.OutputChannel;
let statusBarItem: vscode.StatusBarItem;

export function activate(context: vscode.ExtensionContext) {
    outputChannel = vscode.window.createOutputChannel('API Documentation Generator VS Code Extension');
    outputChannel.appendLine(`API Documentation Generator VS Code Extension v1.0.0 activated`);

    // Status bar
    statusBarItem = vscode.window.createStatusBarItem(vscode.StatusBarAlignment.Right, 100);
    statusBarItem.text = '$(zap) 593757de';
    statusBarItem.tooltip = 'API Documentation Generator VS Code Extension';
    statusBarItem.command = '593757de.activate';
    statusBarItem.show();
    context.subscriptions.push(statusBarItem);

    // Register commands
    let cmd0 = vscode.commands.registerCommand('593757de.activate', () => {
        vscode.window.showInformationMessage('API Documentation Generator VS Code Extension: API Documentation Generator VS Code Extension: Activate executed');
        outputChannel.appendLine(`[INFO] Command executed: API Documentation Generator VS Code Extension: Activate`);
    });
    let cmd1 = vscode.commands.registerCommand('593757de.settings', () => {
        vscode.window.showInformationMessage('API Documentation Generator VS Code Extension: API Documentation Generator VS Code Extension: Open Settings executed');
        outputChannel.appendLine(`[INFO] Command executed: API Documentation Generator VS Code Extension: Open Settings`);
    });
    let cmd2 = vscode.commands.registerCommand('593757de.run', () => {
        vscode.window.showInformationMessage('API Documentation Generator VS Code Extension: API Documentation Generator VS Code Extension: Run executed');
        outputChannel.appendLine(`[INFO] Command executed: API Documentation Generator VS Code Extension: Run`);
    });
    context.subscriptions.push(cmd0);
    context.subscriptions.push(cmd1);
    context.subscriptions.push(cmd2);

    // Configuration change listener
    context.subscriptions.push(
        vscode.workspace.onDidChangeConfiguration(e => {
            if (e.affectsConfiguration('593757de')) {
                const config = vscode.workspace.getConfiguration('593757de');
                const enabled = config.get<boolean>('enabled', true);
                if (enabled) {
                    statusBarItem.show();
                } else {
                    statusBarItem.hide();
                }
                outputChannel.appendLine(`[INFO] Configuration updated`);
            }
        })
    );

    outputChannel.appendLine(`[INFO] API Documentation Generator VS Code Extension ready`);
    vscode.window.showInformationMessage('API Documentation Generator VS Code Extension is now active!');
}

export function deactivate() {
    outputChannel?.appendLine('API Documentation Generator VS Code Extension deactivated');
    outputChannel?.dispose();
    statusBarItem?.dispose();
}