// The module 'vscode' contains the VS Code extensibility API // Import the module and reference it with the alias vscode in your code below import * as vscode from 'vscode'; import { window } from 'vscode'; import { Pangfeng } from './treeview/panfengTreeView'; import { handleLogin } from './command/login'; import { openQuestion } from "./command/openQuestion"; import { postAnswer } from "./command/postAnswer"; import { openAnswer } from "./command/openAnswer"; import { share } from "./command/share"; import { jumpToHome } from './command/jumpToHome'; import { codeLensController } from "./codelens/codelenController"; import { SidebarProvider } from "./view/tianmaSideBarWebview"; import { webViewPanel } from './view/ShareCodeWebview'; // this method is called when your extension is activated // your extension is activated the very first time the command is executed export function activate(context: vscode.ExtensionContext) { try { window .showInformationMessage( "有新的题目更新了啦,快去挑战一下吧!", "去看题", "不再提醒" ) .then((result) => { if (result === "去看题") { vscode.commands.executeCommand( "workbench.view.extension.panfeng" ); } else if (result === "不再提醒") { // setShouldUpdateNotification(); window.showInformationMessage("已经关闭更新提醒"); } }); let disposable = vscode.commands.registerCommand('vscode-panfan.helloWorld', (uri) => { vscode.window.showInformationMessage(`当前文件(夹)路径是:${uri ? uri.path : '空'}`); }); context.subscriptions.push(disposable); // -------- panfeng question 相关 ------------- vscode.commands.registerCommand("panfeng.login", () => { handleLogin(context); }); vscode.commands.registerCommand("panfeng.home", () => { jumpToHome(context); }); const panfengProvider = new Pangfeng(context); window.createTreeView("panfeng", { treeDataProvider: panfengProvider, }); vscode.commands.registerCommand("panfeng.refresh", () => { panfengProvider.refresh(); vscode.window.showInformationMessage("刷新成功"); }); vscode.commands.registerCommand("panfeng.openQuestion", (ele) => { openQuestion(ele); }); vscode.commands.registerCommand("panfeng.postAnswer", (doc, content) => { postAnswer(doc, content, context); }); vscode.commands.registerCommand("panfeng.openAnswer", (doc) => { openAnswer(doc, context); }); vscode.commands.registerCommand("panfeng.sharePoster", (content) => { share(content, context); }); context.subscriptions.push(codeLensController); // -------- UI 相关 ----------- const sidebarProvider = new SidebarProvider(context.extensionUri, context); context.subscriptions.push( vscode.window.registerWebviewViewProvider("pfDesign", sidebarProvider) ); vscode.commands.registerCommand("pfDesign.refresh", () => { sidebarProvider.refresh(); vscode.window.showInformationMessage("刷新成功"); }); } catch (error) { } } // this method is called when your extension is deactivated export function deactivate() { }