diff --git a/CHANGELOG.md b/CHANGELOG.md index 755c4fc..7a61851 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,7 @@ +# version 3.1.1 + +- 重构 log 输出 和 remark 代码, 减少代码耦合 + # version 2.19.19 - win10 上 python3 调试 sys.argv 会忽略空字符串参数 diff --git a/package.json b/package.json index c331cc3..4b47b60 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "vscode-leetcode-problem-rating", "displayName": "LeetCode", "description": "%main.description%", - "version": "2.19.19", + "version": "3.1.1", "author": "ccagml", "publisher": "ccagml", "license": "MIT", diff --git a/src/BABA.ts b/src/BABA.ts index 3d08267..0090c10 100644 --- a/src/BABA.ts +++ b/src/BABA.ts @@ -28,6 +28,18 @@ export enum BabaStr { statusBar_update_status = "statusBar_update_status", statusBar_update = "statusBar_update", statusBar_update_UserContestInfo = "statusBar_update_UserContestInfo", + InitAll = "InitAll", + LogOutputProxy = "LogOutputProxy", + LogOutputMediator = "LogOutputMediator", + Remark_remarkCreateNote = "Remark_remarkCreateNote", + Remark_remarkClose = "Remark_remarkClose", + Remark_remarkReplyNote = "Remark_remarkReplyNote", + Remark_remarkDeleteNoteComment = "Remark_remarkDeleteNoteComment", + Remark_remarkCancelsaveNote = "Remark_remarkCancelsaveNote", + Remark_remarkSaveNote = "Remark_remarkSaveNote", + Remark_remarkEditNote = "Remark_remarkEditNote", + Remark_startRemark = "Remark_startRemark", + Remark_includeTemplates = "Remark_includeTemplates", } export class BABA { diff --git a/src/controller/LoginController.ts b/src/controller/LoginController.ts index 30b4016..3ba072d 100644 --- a/src/controller/LoginController.ts +++ b/src/controller/LoginController.ts @@ -12,7 +12,7 @@ import * as systemUtils from "../utils/SystemUtils"; import { executeService } from "../service/ExecuteService"; import { OutPutType, Endpoint, IQuickItemEx, loginArgsMapping, UserStatus } from "../model/Model"; import { createEnvOption } from "../utils/CliUtils"; -import { logOutput, promptForOpenOutputChannel } from "../utils/OutputUtils"; +import { promptForOpenOutputChannel } from "../utils/OutputUtils"; import { eventService } from "../service/EventService"; import { window, QuickPickOptions, ProgressLocation, Progress } from "vscode"; import { treeDataService } from "../service/TreeDataService"; @@ -59,7 +59,8 @@ class LoginContorller { childProc.stdout?.on("data", async (data: string | Buffer) => { data = data.toString(); // vscode.window.showInformationMessage(`cc login msg ${data}.`); - logOutput.append(data); + BABA.getProxy(BabaStr.LogOutputProxy).get_log().append(data); + if (data.includes("twoFactorCode")) { const twoFactor: string | undefined = await window.showInputBox({ prompt: "Enter two-factor code.", @@ -90,7 +91,9 @@ class LoginContorller { } }); - childProc.stderr?.on("data", (data: string | Buffer) => logOutput.append(data.toString())); + childProc.stderr?.on("data", (data: string | Buffer) => { + BABA.getProxy(BabaStr.LogOutputProxy).get_log().append(data.toString()); + }); childProc.on("error", reject); const name: string | undefined = await window.showInputBox({ diff --git a/src/controller/MainController.ts b/src/controller/MainController.ts index 0f02b97..07cf185 100644 --- a/src/controller/MainController.ts +++ b/src/controller/MainController.ts @@ -11,11 +11,10 @@ import * as systemUtils from "../utils/SystemUtils"; import { executeService } from "../service/ExecuteService"; import { ExtensionContext } from "vscode"; import { treeDataService } from "../service/TreeDataService"; -import { logOutput } from "../utils/OutputUtils"; import { extensionState } from "../utils/problemUtils"; -import { nlsUtils } from "../utils/NlsUtils"; import * as fse from "fs-extra"; +import { BABA, BabaStr } from "../BABA"; // 做杂活 class MainContorller { constructor() {} @@ -58,7 +57,7 @@ class MainContorller { cur_version_num *= 100; cur_version_num += Number(e); }); - logOutput.setLCPTCTX("version", cur_version_num); + BABA.getProxy(BabaStr.LogOutputProxy).get_log().setLCPTCTX("version", cur_version_num); } // 初始化上下文 @@ -68,7 +67,6 @@ class MainContorller { * @param {ExtensionContext} context - ExtensionContext */ public initialize(context: ExtensionContext) { - nlsUtils.init(); this.setGlobal(context); treeDataService.initialize(context); extensionState.context = context; diff --git a/src/controller/RemarkController.ts b/src/controller/RemarkController.ts deleted file mode 100644 index 524d4d6..0000000 --- a/src/controller/RemarkController.ts +++ /dev/null @@ -1,51 +0,0 @@ -/* - * https://github.com/ccagml/leetcode-extension/src/controller/RemarkController.ts - * Path: https://github.com/ccagml/leetcode-extension - * Created Date: Monday, November 28th 2022, 3:29:37 pm - * Author: ccagml - * - * Copyright (c) 2022 ccagml . All rights reserved. - */ - -import { CommentReply, Disposable, TextDocument } from "vscode"; -import { RemarkComment } from "../model/Model"; -import { remarkService } from "../service/RemarkService"; - -// 视图控制器 -class RemarkController implements Disposable { - public dispose(): void {} - - public remarkClose(a) { - remarkService.remarkClose(a); - } - - public remarkCreateNote(reply: CommentReply) { - remarkService.remarkCreateNote(reply); - } - - public remarkReplyNote(reply: CommentReply) { - remarkService.remarkReplyNote(reply); - } - - public remarkDeleteNoteComment(comment: RemarkComment) { - remarkService.remarkDeleteNoteComment(comment); - } - public async startRemark(document: TextDocument) { - await remarkService.startRemark(document); - } - public async includeTemplates(document: TextDocument) { - await remarkService.includeTemplates(document); - } - - public remarkCancelsaveNote(comment: RemarkComment) { - remarkService.remarkCancelsaveNote(comment); - } - public remarkSaveNote(comment: RemarkComment) { - remarkService.remarkSaveNote(comment); - } - public remarkEditNote(comment: RemarkComment) { - remarkService.remarkEditNote(comment); - } -} - -export const remarkController: RemarkController = new RemarkController(); diff --git a/src/controller/TreeViewController.ts b/src/controller/TreeViewController.ts index c8f7fbd..c62ebce 100644 --- a/src/controller/TreeViewController.ts +++ b/src/controller/TreeViewController.ts @@ -58,7 +58,7 @@ import { ISearchSet } from "../model/Model"; import { previewService } from "../service/PreviewService"; import { executeService } from "../service/ExecuteService"; import { getNodeIdFromFile } from "../utils/SystemUtils"; -import { logOutput, promptForOpenOutputChannel, promptForSignIn, promptHintMessage } from "../utils/OutputUtils"; +import { promptForOpenOutputChannel, promptForSignIn, promptHintMessage } from "../utils/OutputUtils"; import { treeDataService } from "../service/TreeDataService"; import { genFileExt, @@ -689,7 +689,7 @@ class TreeViewController implements Disposable { ); solutionService.show(solution); } catch (error) { - logOutput.appendLine(error.toString()); + BABA.getProxy(BabaStr.LogOutputProxy).get_log().appendLine(error.toString()); await promptForOpenOutputChannel("Failed to fetch the top voted solution. 请查看控制台信息~", OutPutType.error); } } @@ -701,7 +701,7 @@ class TreeViewController implements Disposable { // solutionService.show(solution); // debugContorller.try_get_diy_param(); } catch (error) { - logOutput.appendLine(error.toString()); + BABA.getProxy(BabaStr.LogOutputProxy).get_log().appendLine(error.toString()); await promptForOpenOutputChannel("Failed to fetch today question. 请查看控制台信息~", OutPutType.error); } } @@ -840,7 +840,7 @@ class TreeViewController implements Disposable { if (finalPath) { finalPath = await this.resolveRelativePath(finalPath, node, language); if (!finalPath) { - logOutput.appendLine("Showing problem canceled by user."); + BABA.getProxy(BabaStr.LogOutputProxy).get_log().appendLine("Showing problem canceled by user."); return; } } @@ -985,7 +985,7 @@ class TreeViewController implements Disposable { const tt: userContestRanKingBase = Object.assign({}, userContestRankingObj, query_result.userContestRanking); eventService.emit("searchUserContest", tt); } catch (error) { - logOutput.appendLine(error.toString()); + BABA.getProxy(BabaStr.LogOutputProxy).get_log().appendLine(error.toString()); await promptForOpenOutputChannel("Failed to fetch today question. 请查看控制台信息~", OutPutType.error); } } @@ -1014,7 +1014,7 @@ class TreeViewController implements Disposable { await bricksDataService.refresh(); } } catch (error) { - logOutput.appendLine(error.toString()); + BABA.getProxy(BabaStr.LogOutputProxy).get_log().appendLine(error.toString()); await promptForOpenOutputChannel("Failed to fetch today question. 请查看控制台信息~", OutPutType.error); } } @@ -1097,7 +1097,7 @@ class TreeViewController implements Disposable { return getDayNowStr(); default: errorMsg = `The config '${placeholder}' is not supported.`; - logOutput.appendLine(errorMsg); + BABA.getProxy(BabaStr.LogOutputProxy).get_log().appendLine(errorMsg); throw new Error(errorMsg); } }); diff --git a/src/debugex/debugCpp.ts b/src/debugex/debugCpp.ts index aacb1da..27e915b 100644 --- a/src/debugex/debugCpp.ts +++ b/src/debugex/debugCpp.ts @@ -1,7 +1,6 @@ import * as fse from "fs-extra"; import * as path from "path"; import * as vscode from "vscode"; -import { logOutput } from "../utils/OutputUtils"; import { executeCommand } from "../utils/CliUtils"; import { @@ -18,6 +17,7 @@ import { isWindows } from "../utils/SystemUtils"; import { DebugBase } from "../debugex/debugBase"; import { debugArgDao } from "../dao/debugArgDao"; +import { BABA, BabaStr } from "../BABA"; function getGdbDefaultConfig(): IDebugConfig { return { @@ -396,8 +396,8 @@ class DebugCpp extends DebugBase { ); } catch (e) { vscode.window.showErrorMessage(e); - logOutput.append(e.stack); - logOutput.show(); + BABA.getProxy(BabaStr.LogOutputProxy).get_log().append(e.stack); + BABA.getProxy(BabaStr.LogOutputProxy).get_log().show(); return; } @@ -450,8 +450,8 @@ class DebugCpp extends DebugBase { ); } catch (e) { vscode.window.showErrorMessage(e); - logOutput.append(e.stack); - logOutput.show(); + BABA.getProxy(BabaStr.LogOutputProxy).get_log().append(e.stack); + BABA.getProxy(BabaStr.LogOutputProxy).get_log().show(); return; } diff --git a/src/extension.ts b/src/extension.ts index e680717..9746dc8 100644 --- a/src/extension.ts +++ b/src/extension.ts @@ -13,7 +13,7 @@ import { treeViewController } from "./controller/TreeViewController"; import { NodeModel } from "./model/NodeModel"; import { treeDataService } from "./service/TreeDataService"; import { treeItemDecorationService } from "./service/TreeItemDecorationService"; -import { logOutput, promptForOpenOutputChannel } from "./utils/OutputUtils"; +import { promptForOpenOutputChannel } from "./utils/OutputUtils"; import { executeService } from "./service/ExecuteService"; import { eventController } from "./controller/EventController"; import { previewService } from "./service/PreviewService"; @@ -26,12 +26,12 @@ import { getLeetCodeEndpoint } from "./utils/ConfigUtils"; import { BricksType, OutPutType, RemarkComment } from "./model/Model"; import { bricksDataService } from "./service/BricksDataService"; import { bricksViewController } from "./controller/BricksViewController"; -import { remarkController } from "./controller/RemarkController"; import { debugContorller } from "./controller/DebugController"; import { BABA, BabaStr } from "./BABA"; import { StatusBarTimeMediator, StatusBarTimeProxy } from "./statusBarTime/StatusBarTimeModule"; import { StatusBarMediator, StatusBarProxy } from "./statusBar/StatusBarModule"; -import { RemarkProxy, RemarkMediator } from "./service/RemarkService"; +import { LogOutputMediator, LogOutputProxy } from "./logOutput/logOutputModule"; +import { RemarkMediator, RemarkProxy } from "./remark/RemarkServiceModule"; //==================================BABA======================================== @@ -52,8 +52,12 @@ export async function activate(context: ExtensionContext): Promise { StatusBarMediator, RemarkProxy, RemarkMediator, + LogOutputProxy, + LogOutputMediator, ]); + BABA.sendNotification(BabaStr.InitAll, context); + // 初始化控制器 mainContorller.initialize(context); // 检查node环境 @@ -64,7 +68,6 @@ export async function activate(context: ExtensionContext): Promise { // 资源管理 context.subscriptions.push( - logOutput, previewService, submissionService, solutionService, @@ -133,31 +136,31 @@ export async function activate(context: ExtensionContext): Promise { commands.registerCommand("lcpr.removeQidFromGroup", (node) => bricksViewController.removeQidFromGroup(node)), commands.registerCommand("lcpr.remarkCreateNote", (reply: CommentReply) => { - remarkController.remarkCreateNote(reply); + BABA.sendNotification(BabaStr.Remark_remarkCreateNote, reply); }), commands.registerCommand("lcpr.remarkClose", (a) => { - remarkController.remarkClose(a); + BABA.sendNotification(BabaStr.Remark_remarkClose, a); }), commands.registerCommand("lcpr.remarkReplyNote", (reply: CommentReply) => { - remarkController.remarkReplyNote(reply); + BABA.sendNotification(BabaStr.Remark_remarkReplyNote, reply); }), commands.registerCommand("lcpr.remarkDeleteNoteComment", (comment: RemarkComment) => { - remarkController.remarkDeleteNoteComment(comment); + BABA.sendNotification(BabaStr.Remark_remarkDeleteNoteComment, comment); }), commands.registerCommand("lcpr.remarkCancelsaveNote", (comment: RemarkComment) => { - remarkController.remarkCancelsaveNote(comment); + BABA.sendNotification(BabaStr.Remark_remarkCancelsaveNote, comment); }), commands.registerCommand("lcpr.remarkSaveNote", (comment: RemarkComment) => { - remarkController.remarkSaveNote(comment); + BABA.sendNotification(BabaStr.Remark_remarkSaveNote, comment); }), commands.registerCommand("lcpr.remarkEditNote", (comment: RemarkComment) => { - remarkController.remarkEditNote(comment); + BABA.sendNotification(BabaStr.Remark_remarkEditNote, comment); }), commands.registerCommand("lcpr.startRemark", (document: TextDocument) => { - remarkController.startRemark(document); + BABA.sendNotification(BabaStr.Remark_startRemark, document); }), commands.registerCommand("lcpr.includeTemplates", (document: TextDocument) => { - remarkController.includeTemplates(document); + BABA.sendNotification(BabaStr.Remark_includeTemplates, document); }), commands.registerCommand("lcpr.simpleDebug", (document: TextDocument, testCase?) => debugContorller.startDebug(document, testCase) @@ -176,7 +179,7 @@ export async function activate(context: ExtensionContext): Promise { await loginContorller.getLoginStatus(); await bricksViewController.initialize(); } catch (error) { - logOutput.appendLine(error.toString()); + BABA.getProxy(BabaStr.LogOutputProxy).get_log().appendLine(error.toString()); promptForOpenOutputChannel( "Extension initialization failed. Please open output channel for details.", OutPutType.error diff --git a/src/logOutput/logOutputModule.ts b/src/logOutput/logOutputModule.ts new file mode 100644 index 0000000..aa4a698 --- /dev/null +++ b/src/logOutput/logOutputModule.ts @@ -0,0 +1,80 @@ +/* + * Filename: /home/cc/leetcode-extension/src/logOutput/logOutputModule.ts + * Path: /home/cc/leetcode-extension + * Created Date: Saturday, October 14th 2023, 1:57:10 pm + * Author: ccagml + * + * Copyright (c) 2023 ccagml . All rights reserved + */ + +import * as vscode from "vscode"; +import { BABAMediator, BABAProxy, BabaStr, BaseCC } from "../BABA"; + +class LogOutput implements vscode.Disposable { + private readonly channel: vscode.OutputChannel = vscode.window.createOutputChannel("LeetCodeProblemRating"); + + private LCPTCTX = {}; + public appendLine(message: string): void { + this.channel.appendLine(message); + } + + public append(message: string): void { + this.channel.append(message); + } + + public show(): void { + this.channel.show(); + } + + public dispose(): void { + this.channel.dispose(); + } + + public setLCPTCTX(k, v) { + this.LCPTCTX[k] = v; + } + + public getLCPTCTX(k) { + return this.LCPTCTX[k]; + } + + public getLCPTCTXAll() { + return this.LCPTCTX; + } +} + +export const logOutput: LogOutput = new LogOutput(); + +export class LogOutputProxy extends BABAProxy { + static NAME = BabaStr.LogOutputProxy; + constructor() { + super(LogOutputProxy.NAME); + } + + /** + * get_log + */ + public get_log() { + return logOutput; + } +} + +export class LogOutputMediator extends BABAMediator { + static NAME = BabaStr.LogOutputMediator; + constructor() { + super(LogOutputMediator.NAME); + } + + listNotificationInterests(): string[] { + return [BabaStr.VSCODE_DISPOST]; + } + handleNotification(_notification: BaseCC.BaseCC.INotification) { + switch (_notification.getName()) { + case BabaStr.VSCODE_DISPOST: + logOutput.dispose(); + break; + default: + break; + } + } +} diff --git a/src/service/RemarkService.ts b/src/remark/RemarkServiceModule.ts similarity index 80% rename from src/service/RemarkService.ts rename to src/remark/RemarkServiceModule.ts index ce09190..eb8abbd 100644 --- a/src/service/RemarkService.ts +++ b/src/remark/RemarkServiceModule.ts @@ -1,3 +1,12 @@ +/* + * Filename: /home/cc/leetcode-extension/src/remark/RemarkService.ts + * Path: /home/cc/leetcode-extension + * Created Date: Saturday, October 14th 2023, 2:24:19 pm + * Author: ccagml + * + * Copyright (c) 2023 ccagml . All rights reserved + */ + import { CommentMode, CommentThread, @@ -213,9 +222,21 @@ export class RemarkMediator extends BABAMediator { } listNotificationInterests(): string[] { - return [BabaStr.showProblemFinishOpen]; + return [ + BabaStr.showProblemFinishOpen, + BabaStr.Remark_remarkCreateNote, + BabaStr.Remark_remarkClose, + BabaStr.Remark_remarkReplyNote, + BabaStr.Remark_remarkDeleteNoteComment, + BabaStr.Remark_remarkCancelsaveNote, + BabaStr.Remark_remarkSaveNote, + BabaStr.Remark_remarkEditNote, + BabaStr.Remark_startRemark, + BabaStr.Remark_includeTemplates, + ]; } handleNotification(_notification: BaseCC.BaseCC.INotification) { + let body = _notification.getBody(); switch (_notification.getName()) { case BabaStr.showProblemFinishOpen: let temp_doc = window.activeTextEditor?.document; @@ -223,6 +244,34 @@ export class RemarkMediator extends BABAMediator { remarkService.includeTemplates(temp_doc); } break; + + case BabaStr.Remark_remarkCreateNote: + remarkService.remarkCreateNote(body); + break; + case BabaStr.Remark_remarkClose: + remarkService.remarkClose(body); + break; + case BabaStr.Remark_remarkReplyNote: + remarkService.remarkReplyNote(body); + break; + case BabaStr.Remark_remarkDeleteNoteComment: + remarkService.remarkDeleteNoteComment(body); + break; + case BabaStr.Remark_remarkCancelsaveNote: + remarkService.remarkCancelsaveNote(body); + break; + case BabaStr.Remark_remarkSaveNote: + remarkService.remarkSaveNote(body); + break; + case BabaStr.Remark_remarkEditNote: + remarkService.remarkEditNote(body); + break; + case BabaStr.Remark_startRemark: + remarkService.startRemark(body); + break; + case BabaStr.Remark_includeTemplates: + remarkService.includeTemplates(body); + break; default: break; } diff --git a/src/service/DebugService.ts b/src/service/DebugService.ts index bdbb6cf..4fb46f1 100644 --- a/src/service/DebugService.ts +++ b/src/service/DebugService.ts @@ -3,10 +3,10 @@ import * as net from "net"; import * as vscode from "vscode"; import { IDebugResult } from "../utils/problemUtils"; import { debugCpp } from "../debugex/debugCpp"; -import { logOutput } from "../utils/OutputUtils"; import * as fse from "fs-extra"; import { fileMeta, getEntryFile, IDebugConfig, IProblemType } from "../utils/problemUtils"; import { debugArgDao } from "../dao/debugArgDao"; +import { BABA, BabaStr } from "../BABA"; const debugConfigMap: Map = new Map([ [ @@ -150,12 +150,12 @@ class DebugService { }); clientSock.on("error", (error: Error) => { - logOutput.appendLine(error.toString()); + BABA.getProxy(BabaStr.LogOutputProxy).get_log().appendLine(error.toString()); }); }); this.server.on("error", (error: Error) => { - logOutput.appendLine(error.toString()); + BABA.getProxy(BabaStr.LogOutputProxy).get_log().appendLine(error.toString()); }); // listen on a random port diff --git a/src/service/MarkdownService.ts b/src/service/MarkdownService.ts index 6fe20db..35767b9 100644 --- a/src/service/MarkdownService.ts +++ b/src/service/MarkdownService.ts @@ -13,7 +13,7 @@ import * as MarkDownItKatex from "markdown-it-katex"; import * as os from "os"; import * as path from "path"; import * as vscode from "vscode"; -import { logOutput } from "../utils/OutputUtils"; +import { BABA, BabaStr } from "../BABA"; import { isWindows } from "../utils/SystemUtils"; class MarkdownService implements vscode.Disposable { @@ -66,7 +66,7 @@ class MarkdownService implements vscode.Disposable { }) ); } catch (error) { - logOutput.appendLine("[Error] Fail to load built-in markdown style file."); + BABA.getProxy(BabaStr.LogOutputProxy).get_log().appendLine("[Error] Fail to load built-in markdown style file."); } return styles .map((style: vscode.Uri) => ``) diff --git a/src/utils/CliUtils.ts b/src/utils/CliUtils.ts index 36b9b56..5e03ab9 100644 --- a/src/utils/CliUtils.ts +++ b/src/utils/CliUtils.ts @@ -9,7 +9,7 @@ import * as cp from "child_process"; import * as vscode from "vscode"; -import { logOutput } from "./OutputUtils"; +import { BABA, BabaStr } from "../BABA"; import * as systemUtils from "./SystemUtils"; interface IExecError extends Error { @@ -45,10 +45,12 @@ export async function executeCommand( childProc.stdout?.on("data", (data: string | Buffer) => { data = data.toString(); result = result.concat(data); - logOutput.append(data); + BABA.getProxy(BabaStr.LogOutputProxy).get_log().append(data); }); - childProc.stderr?.on("data", (data: string | Buffer) => logOutput.append(data.toString())); + childProc.stderr?.on("data", (data: string | Buffer) => + BABA.getProxy(BabaStr.LogOutputProxy).get_log().append(data.toString()) + ); childProc.on("error", reject); @@ -97,7 +99,7 @@ export async function executeCommandWithProgress( } function childLCPTCTX(): string { - return JSON.stringify(logOutput.getLCPTCTXAll()); + return JSON.stringify(BABA.getProxy(BabaStr.LogOutputProxy).get_log().getLCPTCTXAll()); } // clone process.env and add http proxy diff --git a/src/utils/ConfigUtils.ts b/src/utils/ConfigUtils.ts index 2330a63..6e72488 100644 --- a/src/utils/ConfigUtils.ts +++ b/src/utils/ConfigUtils.ts @@ -34,7 +34,7 @@ import { useWsl, toWslPath } from "../utils/SystemUtils"; import * as path from "path"; import * as fse from "fs-extra"; import * as os from "os"; -import { logOutput } from "./OutputUtils"; +import { BABA, BabaStr } from "../BABA"; // vscode的配置 export function getVsCodeConfig(): WorkspaceConfiguration { @@ -101,7 +101,9 @@ function resolveWorkspaceFolder(cur_wsf: string): string { if (process.env[placeholder]) { return process.env[placeholder] || ""; } else { - logOutput.append("环境变量" + JSON.stringify(process.env)); + BABA.getProxy(BabaStr.LogOutputProxy) + .get_log() + .append("环境变量" + JSON.stringify(process.env)); throw new Error(`无法从环境变量获取到${placeholder}的变量, 请查看控制台信息~ `); } } diff --git a/src/utils/NlsUtils.ts b/src/utils/NlsUtils.ts deleted file mode 100644 index 758d035..0000000 --- a/src/utils/NlsUtils.ts +++ /dev/null @@ -1,24 +0,0 @@ -/* - * Filename: https://github.com/ccagml/leetcode-extension/src/utils/NlsUtils.ts - * Path: https://github.com/ccagml/leetcode-extension - * Created Date: Wednesday, February 15th 2023, 10:20:55 am - * Author: ccagml - * - * Copyright (c) 2023 ccagml . All rights reserved - */ - -// import * as vscode from "vscode"; -// import * as nls from "vscode-nls"; -class NlsUtils { - // 初始化 - localize: any; - public init() { - // this.localize = nls.config({ locale: vscode.env.language })(); - } - - get(): string { - return ""; - } -} - -export const nlsUtils: NlsUtils = new NlsUtils(); diff --git a/src/utils/OutputUtils.ts b/src/utils/OutputUtils.ts index d69157e..3d13f05 100644 --- a/src/utils/OutputUtils.ts +++ b/src/utils/OutputUtils.ts @@ -8,6 +8,7 @@ */ import * as vscode from "vscode"; +import { BABA, BabaStr } from "../BABA"; import { DialogOptions, OutPutType } from "../model/Model"; import { getLeetCodeEndpoint, getVsCodeConfig } from "./ConfigUtils"; @@ -76,41 +77,6 @@ export async function promptForOpenOutputChannel(message: string, type: OutPutTy } if (result === DialogOptions.open) { - logOutput.show(); + BABA.getProxy(BabaStr.LogOutputProxy).get_log().show(); } } - -class LogOutput implements vscode.Disposable { - private readonly channel: vscode.OutputChannel = vscode.window.createOutputChannel("LeetCodeProblemRating"); - - private LCPTCTX = {}; - public appendLine(message: string): void { - this.channel.appendLine(message); - } - - public append(message: string): void { - this.channel.append(message); - } - - public show(): void { - this.channel.show(); - } - - public dispose(): void { - this.channel.dispose(); - } - - public setLCPTCTX(k, v) { - this.LCPTCTX[k] = v; - } - - public getLCPTCTX(k) { - return this.LCPTCTX[k]; - } - - public getLCPTCTXAll() { - return this.LCPTCTX; - } -} - -export const logOutput: LogOutput = new LogOutput();