MCPcopy Index your code
hub / github.com/LeetCode-OpenSource/vscode-leetcode / activate

Function activate

src/extension.ts:28–78  ·  view source on GitHub ↗
(context: vscode.ExtensionContext)

Source from the content-addressed store, hash-verified

26import { markdownEngine } from "./webview/markdownEngine";
27
28export async function activate(context: vscode.ExtensionContext): Promise<void> {
29 try {
30 if (!await leetCodeExecutor.meetRequirements(context)) {
31 throw new Error("The environment doesn't meet requirements.");
32 }
33
34 leetCodeManager.on("statusChanged", () => {
35 leetCodeStatusBarController.updateStatusBar(leetCodeManager.getStatus(), leetCodeManager.getUser());
36 leetCodeTreeDataProvider.refresh();
37 });
38
39 leetCodeTreeDataProvider.initialize(context);
40
41 context.subscriptions.push(
42 leetCodeStatusBarController,
43 leetCodeChannel,
44 leetCodePreviewProvider,
45 leetCodeSubmissionProvider,
46 leetCodeSolutionProvider,
47 leetCodeExecutor,
48 markdownEngine,
49 codeLensController,
50 explorerNodeManager,
51 vscode.window.registerFileDecorationProvider(leetCodeTreeItemDecorationProvider),
52 vscode.window.createTreeView("leetCodeExplorer", { treeDataProvider: leetCodeTreeDataProvider, showCollapseAll: true }),
53 vscode.commands.registerCommand("leetcode.deleteCache", () => cache.deleteCache()),
54 vscode.commands.registerCommand("leetcode.toggleLeetCodeCn", () => plugin.switchEndpoint()),
55 vscode.commands.registerCommand("leetcode.signin", () => leetCodeManager.signIn()),
56 vscode.commands.registerCommand("leetcode.signout", () => leetCodeManager.signOut()),
57 vscode.commands.registerCommand("leetcode.manageSessions", () => session.manageSessions()),
58 vscode.commands.registerCommand("leetcode.previewProblem", (node: LeetCodeNode) => show.previewProblem(node)),
59 vscode.commands.registerCommand("leetcode.showProblem", (node: LeetCodeNode) => show.showProblem(node)),
60 vscode.commands.registerCommand("leetcode.pickOne", () => show.pickOne()),
61 vscode.commands.registerCommand("leetcode.searchProblem", () => show.searchProblem()),
62 vscode.commands.registerCommand("leetcode.showSolution", (input: LeetCodeNode | vscode.Uri) => show.showSolution(input)),
63 vscode.commands.registerCommand("leetcode.refreshExplorer", () => leetCodeTreeDataProvider.refresh()),
64 vscode.commands.registerCommand("leetcode.testSolution", (uri?: vscode.Uri) => test.testSolution(uri)),
65 vscode.commands.registerCommand("leetcode.submitSolution", (uri?: vscode.Uri) => submit.submitSolution(uri)),
66 vscode.commands.registerCommand("leetcode.switchDefaultLanguage", () => switchDefaultLanguage()),
67 vscode.commands.registerCommand("leetcode.addFavorite", (node: LeetCodeNode) => star.addFavorite(node)),
68 vscode.commands.registerCommand("leetcode.removeFavorite", (node: LeetCodeNode) => star.removeFavorite(node)),
69 vscode.commands.registerCommand("leetcode.problems.sort", () => plugin.switchSortingStrategy()),
70 );
71
72 await leetCodeExecutor.switchEndpoint(plugin.getLeetCodeEndpoint());
73 await leetCodeManager.getLoginStatus();
74 } catch (error) {
75 leetCodeChannel.appendLine(error.toString());
76 promptForOpenOutputChannel("Extension initialization failed. Please open output channel for details.", DialogType.error);
77 }
78}
79
80export function deactivate(): void {
81 // Do nothing.

Callers

nothing calls this directly

Calls 15

switchDefaultLanguageFunction · 0.90
meetRequirementsMethod · 0.80
getStatusMethod · 0.80
getUserMethod · 0.80
initializeMethod · 0.80
deleteCacheMethod · 0.80
switchEndpointMethod · 0.80
signInMethod · 0.80
showProblemMethod · 0.80
showSolutionMethod · 0.80
testSolutionMethod · 0.80

Tested by

no test coverage detected