From 2e71b9d8268d15e2bfe15fde00e40fabf5bc0243 Mon Sep 17 00:00:00 2001 From: "sheche@microsoft.com" Date: Sun, 2 Jun 2019 16:27:49 +0800 Subject: [PATCH] feat: Refresh the explorer after submitting --- src/commands/submit.ts | 4 ++++ src/explorer/LeetCodeTreeDataProvider.ts | 13 ++++++++----- src/extension.ts | 4 ++-- 3 files changed, 14 insertions(+), 7 deletions(-) diff --git a/src/commands/submit.ts b/src/commands/submit.ts index f6e2d989..26660029 100644 --- a/src/commands/submit.ts +++ b/src/commands/submit.ts @@ -2,6 +2,7 @@ // Licensed under the MIT license. import * as vscode from "vscode"; +import { leetCodeTreeDataProvider } from "../explorer/LeetCodeTreeDataProvider"; import { leetCodeExecutor } from "../leetCodeExecutor"; import { leetCodeManager } from "../leetCodeManager"; import { DialogType, promptForOpenOutputChannel, promptForSignIn } from "../utils/uiUtils"; @@ -24,5 +25,8 @@ export async function submitSolution(uri?: vscode.Uri): Promise { leetCodeSubmissionProvider.show(result); } catch (error) { await promptForOpenOutputChannel("Failed to submit the solution. Please open the output channel for details.", DialogType.error); + return; } + + leetCodeTreeDataProvider.refresh(); } diff --git a/src/explorer/LeetCodeTreeDataProvider.ts b/src/explorer/LeetCodeTreeDataProvider.ts index a4339614..ac115424 100644 --- a/src/explorer/LeetCodeTreeDataProvider.ts +++ b/src/explorer/LeetCodeTreeDataProvider.ts @@ -11,11 +11,15 @@ import { LeetCodeNode } from "./LeetCodeNode"; export class LeetCodeTreeDataProvider implements vscode.TreeDataProvider { - private onDidChangeTreeDataEvent: vscode.EventEmitter = new vscode.EventEmitter(); + private context: vscode.ExtensionContext; + + private onDidChangeTreeDataEvent: vscode.EventEmitter = new vscode.EventEmitter(); // tslint:disable-next-line:member-ordering public readonly onDidChangeTreeData: vscode.Event = this.onDidChangeTreeDataEvent.event; - constructor(private context: vscode.ExtensionContext) { } + public initialize(context: vscode.ExtensionContext): void { + this.context = context; + } public async refresh(): Promise { await explorerNodeManager.refreshCache(); @@ -26,7 +30,6 @@ export class LeetCodeTreeDataProvider implements vscode.TreeDataProvider leetCodeTreeDataProvider.refresh(); }); - const leetCodeTreeDataProvider: LeetCodeTreeDataProvider = new LeetCodeTreeDataProvider(context); + leetCodeTreeDataProvider.initialize(context); context.subscriptions.push( leetCodeStatusBarController, pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy