diff --git a/package-lock.json b/package-lock.json index e4980605..f29605ac 100644 --- a/package-lock.json +++ b/package-lock.json @@ -79,9 +79,9 @@ "dev": true }, "@types/vscode": { - "version": "1.42.0", - "resolved": "https://registry.npmjs.org/@types/vscode/-/vscode-1.42.0.tgz", - "integrity": "sha512-ds6TceMsh77Fs0Mq0Vap6Y72JbGWB8Bay4DrnJlf5d9ui2RSe1wis13oQm+XhguOeH1HUfLGzaDAoupTUtgabw==", + "version": "1.50.0", + "resolved": "https://registry.npmjs.org/@types/vscode/-/vscode-1.50.0.tgz", + "integrity": "sha512-QnIeyi4L2DiD9M2bAQKRzT/EQvc80qP9UL6JD5TiLlNRL1khIDg4ej4mDSRbtFrDAsRntFI1RhMvdomUThMsqg==", "dev": true }, "abab": { diff --git a/package.json b/package.json index 22e91b40..ea24e2dd 100644 --- a/package.json +++ b/package.json @@ -8,7 +8,7 @@ "license": "MIT", "icon": "resources/LeetCode.png", "engines": { - "vscode": "^1.42.0" + "vscode": "^1.50.0" }, "repository": { "type": "git", @@ -243,6 +243,11 @@ } ], "editor/context": [ + { + "submenu": "leetcode.editorAction" + } + ], + "leetcode.editorAction": [ { "command": "leetcode.testSolution", "group": "leetcode@1" @@ -261,6 +266,12 @@ } ] }, + "submenus": [ + { + "id": "leetcode.editorAction", + "label": "LeetCode" + } + ], "configuration": [ { "title": "LeetCode", @@ -678,7 +689,7 @@ "@types/mocha": "^2.2.42", "@types/node": "^14.14.33", "@types/require-from-string": "^1.2.0", - "@types/vscode": "1.42.0", + "@types/vscode": "1.50.0", "tslint": "^5.20.1", "typescript": "^4.3.2" }, diff --git a/src/explorer/LeetCodeTreeDataProvider.ts b/src/explorer/LeetCodeTreeDataProvider.ts index 69445bbb..2bfbe497 100644 --- a/src/explorer/LeetCodeTreeDataProvider.ts +++ b/src/explorer/LeetCodeTreeDataProvider.ts @@ -23,7 +23,7 @@ export class LeetCodeTreeDataProvider implements vscode.TreeDataProvider { await explorerNodeManager.refreshCache(); - this.onDidChangeTreeDataEvent.fire(); + this.onDidChangeTreeDataEvent.fire(null); } public getTreeItem(element: LeetCodeNode): vscode.TreeItem | Thenable { diff --git a/src/utils/workspaceUtils.ts b/src/utils/workspaceUtils.ts index c129f8db..81072be7 100644 --- a/src/utils/workspaceUtils.ts +++ b/src/utils/workspaceUtils.ts @@ -18,9 +18,8 @@ export async function selectWorkspaceFolder(): Promise { return workspaceFolderSetting; } } - const workspaceFolders: vscode.WorkspaceFolder[] = vscode.workspace.workspaceFolders || []; let needAsk: boolean = true; - for (const folder of workspaceFolders) { + for (const folder of vscode.workspace.workspaceFolders || []) { if (isSubFolder(folder.uri.fsPath, workspaceFolderSetting)) { needAsk = false; } @@ -47,7 +46,7 @@ export async function selectWorkspaceFolder(): Promise { await vscode.commands.executeCommand("vscode.openFolder", vscode.Uri.file(workspaceFolderSetting), true); return ""; case OpenOption.addToWorkspace: - vscode.workspace.updateWorkspaceFolders(workspaceFolders.length, 0, { uri: vscode.Uri.file(workspaceFolderSetting) }); + vscode.workspace.updateWorkspaceFolders(vscode.workspace.workspaceFolders?.length ?? 0, 0, { uri: vscode.Uri.file(workspaceFolderSetting) }); break; default: return "";