Skip to content

Commit e6e4188

Browse files
committed
feat: support toggle active
1 parent e6856e1 commit e6e4188

File tree

3 files changed

+41
-2
lines changed

3 files changed

+41
-2
lines changed

README.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,3 +8,7 @@ VS Code extension for antd v5 design token.
88

99
1. 提供 antd design token 的 hover 值提示,例如:`颜色``数值`
1010
2. 输入时提示 token 值,注意,为了使值提示出现在提示区域前面,在输入 token 前可以先输入一个 `a`。例如输入 `padding...`,可以输入 `apadding...`,这并不会影响确定后插入的变量。
11+
12+
## 命令
13+
14+
你可以使用 `antd-design-token:toggle` 命令来激活或者关闭此插件。

package.json

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,14 @@
1616
"activationEvents": [
1717
"onStartupFinished"
1818
],
19+
"contributes": {
20+
"commands": [
21+
{
22+
"command": "antd-design-token.toggle",
23+
"title": "antd design token: toggle active"
24+
}
25+
]
26+
},
1927
"main": "./dist/extension.js",
2028
"icon": "assets/logo.png",
2129
"scripts": {

src/extension.ts

Lines changed: 29 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,39 @@ import { genMarkdownString } from "./utils";
55

66
// this method is called when your extension is activated
77
// your extension is activated the very first time the command is executed
8+
let isActive = true;
9+
let disposeHover: vscode.Disposable;
10+
let disposeTyping: vscode.Disposable;
11+
812
export function activate(context: vscode.ExtensionContext) {
913
// This line of code will only be executed once when your extension is activated
14+
setUpAntdToken();
15+
16+
vscode.commands.registerCommand("antd-design-token.toggle", () => {
17+
isActive = !isActive;
18+
19+
if (isActive) {
20+
setUpAntdToken();
21+
vscode.window.showInformationMessage("antd design token is active now.");
22+
} else {
23+
disposeHover.dispose();
24+
disposeTyping.dispose();
25+
vscode.window.showInformationMessage(
26+
"antd design token is inactive now."
27+
);
28+
}
29+
});
30+
}
31+
32+
function setUpAntdToken() {
1033
const fullToken = getDesignToken();
1134

35+
if (!fullToken) {
36+
throw new Error("Get fullToken failed.");
37+
}
38+
1239
// HOVER
13-
vscode.languages.registerHoverProvider(
40+
disposeHover = vscode.languages.registerHoverProvider(
1441
[
1542
"javascript",
1643
"javascriptreact",
@@ -68,7 +95,7 @@ export function activate(context: vscode.ExtensionContext) {
6895
items.push(item);
6996
}
7097

71-
vscode.languages.registerCompletionItemProvider(
98+
disposeTyping = vscode.languages.registerCompletionItemProvider(
7299
[
73100
"javascript",
74101
"javascriptreact",

0 commit comments

Comments
 (0)