Skip to content

Commit 32c2dc5

Browse files
committed
feat: implement open-workspace command
1 parent b6d9918 commit 32c2dc5

File tree

3 files changed

+37
-0
lines changed

3 files changed

+37
-0
lines changed

package.json

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -172,6 +172,11 @@
172172
"command": "vscode-cnb.open-post-in-blog-admin",
173173
"title": "在博客后台中编辑",
174174
"category": "Cnblogs"
175+
},
176+
{
177+
"command": "vscode-cnb.open-workspace",
178+
"title": "打开工作空间",
179+
"category": "Cnblogs"
175180
}
176181
],
177182
"configuration": {
@@ -200,6 +205,11 @@
200205
"name": "登录/授权",
201206
"when": "!vscode-cnb.isAuthorized"
202207
},
208+
{
209+
"id": "vscode-cnb-workspace",
210+
"name": "工作空间",
211+
"when": "vscode-cnb.isAuthorized"
212+
},
203213
{
204214
"id": "cnblogs-post-categories-list",
205215
"name": "分类列表",
@@ -495,6 +505,15 @@
495505
{
496506
"view": "cnblogs-navigation",
497507
"contents": "[首页](https://www.cnblogs.com)\n[新闻](https://news.cnblogs.com/)\n[博问](https://q.cnblogs.com/)\n[闪存](https://ing.cnblogs.com/)\n[小组](https://group.cnblogs.com/)"
508+
},
509+
{
510+
"view": "vscode-cnb-workspace",
511+
"contents": "[打开工作空间](command:vscode-cnb.open-workspace)",
512+
"when": "!vscode-cnb.isTargetWorkspace"
513+
},
514+
{
515+
"view": "vscode-cnb-workspace",
516+
"contents": "[设置工作空间](command:vscode-cnb.set-workspace)"
498517
}
499518
]
500519
},

src/commands/commands-registration.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ import { openPostInVscode } from './posts-list/open-post-in-vscode';
2929
import { deletePostToLocalFileMap } from './posts-list/delete-post-to-local-file-map';
3030
import { renamePost } from './posts-list/rename-post';
3131
import { openPostInBlogAdmin } from './open-post-in-blog-admin';
32+
import { openWorkspace } from './open-workspace';
3233

3334
export const registerCommands = () => {
3435
const context = globalState.extensionContext;
@@ -67,6 +68,7 @@ export const registerCommands = () => {
6768
vscode.commands.registerCommand(`${appName}.delete-post-to-local-file-map`, deletePostToLocalFileMap),
6869
vscode.commands.registerCommand(`${appName}.rename-post`, renamePost),
6970
vscode.commands.registerCommand(`${appName}.open-post-in-blog-admin`, openPostInBlogAdmin),
71+
vscode.commands.registerCommand(`${appName}.open-workspace`, openWorkspace),
7072
];
7173
context?.subscriptions.push(...disposables);
7274
};

src/commands/open-workspace.ts

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
import { commands, MessageOptions, window } from 'vscode';
2+
import { Settings } from '../services/settings.service';
3+
4+
export const openWorkspace = async () => {
5+
const uri = Settings.workspaceUri;
6+
const { fsPath } = uri;
7+
const options = ['在当前窗口中打开', '在新窗口中打开'];
8+
const input = await window.showInformationMessage(
9+
`即将打开 ${fsPath}`,
10+
{ modal: true } as MessageOptions,
11+
...options
12+
);
13+
const newWindow = input === options[1];
14+
15+
await commands.executeCommand('vscode.openFolder', uri, newWindow);
16+
};

0 commit comments

Comments
 (0)