ol-base-components 2.8.2 → 2.8.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/scripts/install-vscode.js +53 -9
- package/src/vscode/extension.js +16 -2
package/package.json
CHANGED
|
@@ -14,18 +14,32 @@ function getVSCodeExtensionsPath() {
|
|
|
14
14
|
path.join(homeDir, ".vscode", "extensions"),
|
|
15
15
|
path.join(homeDir, ".cursor", "extensions"), // Cursor 扩展目录
|
|
16
16
|
path.join(homeDir, "AppData", "Roaming", "Cursor", "User", "extensions"), // Cursor 另一个可能的位置
|
|
17
|
+
path.join(homeDir, "AppData", "Local", "Cursor", "User", "extensions"), // Cursor 本地扩展目录
|
|
18
|
+
path.join(homeDir, "AppData", "Roaming", "Code", "User", "extensions"), // VSCode 扩展目录
|
|
19
|
+
path.join(
|
|
20
|
+
homeDir,
|
|
21
|
+
"AppData",
|
|
22
|
+
"Local",
|
|
23
|
+
"Programs",
|
|
24
|
+
"Microsoft VS Code",
|
|
25
|
+
"resources",
|
|
26
|
+
"app",
|
|
27
|
+
"extensions"
|
|
28
|
+
), // VSCode 系统扩展目录
|
|
17
29
|
];
|
|
18
30
|
case "darwin":
|
|
19
31
|
return [
|
|
20
32
|
path.join(homeDir, ".vscode", "extensions"),
|
|
21
33
|
path.join(homeDir, ".cursor", "extensions"),
|
|
22
34
|
path.join(homeDir, "Library", "Application Support", "Cursor", "User", "extensions"),
|
|
35
|
+
path.join(homeDir, "Library", "Application Support", "Code", "User", "extensions"),
|
|
23
36
|
];
|
|
24
37
|
case "linux":
|
|
25
38
|
return [
|
|
26
39
|
path.join(homeDir, ".vscode", "extensions"),
|
|
27
40
|
path.join(homeDir, ".cursor", "extensions"),
|
|
28
41
|
path.join(homeDir, ".config", "Cursor", "User", "extensions"),
|
|
42
|
+
path.join(homeDir, ".config", "Code", "User", "extensions"),
|
|
29
43
|
];
|
|
30
44
|
default:
|
|
31
45
|
throw new Error("Unsupported platform");
|
|
@@ -38,17 +52,29 @@ function installVSCodeExtension() {
|
|
|
38
52
|
const extensionsPaths = getVSCodeExtensionsPath();
|
|
39
53
|
const extensionName = "vue-page-generator";
|
|
40
54
|
|
|
55
|
+
console.log("�� 正在查找扩展目录...");
|
|
56
|
+
extensionsPaths.forEach((path, index) => {
|
|
57
|
+
console.log(` ${index + 1}. ${path} ${fs.existsSync(path) ? "✅ 存在" : "❌ 不存在"}`);
|
|
58
|
+
});
|
|
59
|
+
|
|
41
60
|
let installed = false;
|
|
42
61
|
|
|
43
62
|
for (const extensionsPath of extensionsPaths) {
|
|
44
63
|
if (fs.existsSync(extensionsPath)) {
|
|
64
|
+
console.log(`\n📁 使用扩展目录: ${extensionsPath}`);
|
|
65
|
+
|
|
45
66
|
const extensionDir = path.join(extensionsPath, extensionName);
|
|
46
67
|
|
|
47
|
-
//
|
|
48
|
-
if (
|
|
49
|
-
|
|
68
|
+
// 删除旧的扩展目录(如果存在)
|
|
69
|
+
if (fs.existsSync(extensionDir)) {
|
|
70
|
+
console.log("🗑️ 删除旧的扩展目录...");
|
|
71
|
+
fs.rmSync(extensionDir, { recursive: true, force: true });
|
|
50
72
|
}
|
|
51
73
|
|
|
74
|
+
// 创建扩展目录
|
|
75
|
+
fs.mkdirSync(extensionDir, { recursive: true });
|
|
76
|
+
console.log("📁 创建扩展目录:", extensionDir);
|
|
77
|
+
|
|
52
78
|
// 复制扩展文件
|
|
53
79
|
const srcDir = path.join(__dirname, "../src/vscode");
|
|
54
80
|
const files = ["extension.js"];
|
|
@@ -60,6 +86,8 @@ function installVSCodeExtension() {
|
|
|
60
86
|
if (fs.existsSync(srcFile)) {
|
|
61
87
|
fs.copyFileSync(srcFile, destFile);
|
|
62
88
|
console.log(`✅ 复制文件: ${file}`);
|
|
89
|
+
} else {
|
|
90
|
+
console.log(`❌ 源文件不存在: ${srcFile}`);
|
|
63
91
|
}
|
|
64
92
|
});
|
|
65
93
|
|
|
@@ -78,7 +106,11 @@ function installVSCodeExtension() {
|
|
|
78
106
|
if (fs.existsSync(panelFile)) {
|
|
79
107
|
fs.copyFileSync(panelFile, panelDestFile);
|
|
80
108
|
console.log("✅ 复制文件: webview/panel.js");
|
|
109
|
+
} else {
|
|
110
|
+
console.log("❌ 源文件不存在: webview/panel.js");
|
|
81
111
|
}
|
|
112
|
+
} else {
|
|
113
|
+
console.log("❌ webview 目录不存在:", webviewSrcDir);
|
|
82
114
|
}
|
|
83
115
|
|
|
84
116
|
// 创建 package.json
|
|
@@ -90,7 +122,7 @@ function installVSCodeExtension() {
|
|
|
90
122
|
engines: {
|
|
91
123
|
vscode: "^1.60.0",
|
|
92
124
|
},
|
|
93
|
-
activationEvents: ["onCommand:vue-generator.createPage"],
|
|
125
|
+
activationEvents: ["onCommand:vue-generator.createPage", "onCommand:vue-generator.test"],
|
|
94
126
|
main: "./extension.js",
|
|
95
127
|
contributes: {
|
|
96
128
|
commands: [
|
|
@@ -99,6 +131,11 @@ function installVSCodeExtension() {
|
|
|
99
131
|
title: "Generate Vue Page",
|
|
100
132
|
category: "Vue Generator",
|
|
101
133
|
},
|
|
134
|
+
{
|
|
135
|
+
command: "vue-generator.test",
|
|
136
|
+
title: "Test Vue Generator",
|
|
137
|
+
category: "Vue Generator",
|
|
138
|
+
},
|
|
102
139
|
],
|
|
103
140
|
menus: {
|
|
104
141
|
"explorer/context": [
|
|
@@ -120,20 +157,27 @@ function installVSCodeExtension() {
|
|
|
120
157
|
console.log("请重启 Cursor 以激活扩展。");
|
|
121
158
|
console.log("安装位置:", extensionDir);
|
|
122
159
|
|
|
160
|
+
// 显示扩展目录内容
|
|
161
|
+
console.log("\n📁 扩展目录内容:");
|
|
162
|
+
const extensionFiles = fs.readdirSync(extensionDir);
|
|
163
|
+
extensionFiles.forEach(file => {
|
|
164
|
+
const filePath = path.join(extensionDir, file);
|
|
165
|
+
const stats = fs.statSync(filePath);
|
|
166
|
+
console.log(` - ${file} ${stats.isDirectory() ? "(目录)" : "(文件)"}`);
|
|
167
|
+
});
|
|
168
|
+
|
|
123
169
|
installed = true;
|
|
124
170
|
break;
|
|
125
171
|
}
|
|
126
172
|
}
|
|
127
173
|
|
|
128
174
|
if (!installed) {
|
|
129
|
-
console.log("❌ 未找到 VSCode 或 Cursor 扩展目录");
|
|
130
|
-
console.log("
|
|
131
|
-
extensionsPaths.forEach(path => {
|
|
132
|
-
console.log(" -", path);
|
|
133
|
-
});
|
|
175
|
+
console.log("\n❌ 未找到 VSCode 或 Cursor 扩展目录");
|
|
176
|
+
console.log("请确保已安装 VSCode 或 Cursor 编辑器。");
|
|
134
177
|
}
|
|
135
178
|
} catch (error) {
|
|
136
179
|
console.error("❌ 安装失败:", error.message);
|
|
180
|
+
console.error("错误详情:", error.stack);
|
|
137
181
|
process.exit(1);
|
|
138
182
|
}
|
|
139
183
|
}
|
package/src/vscode/extension.js
CHANGED
|
@@ -2,17 +2,31 @@ const vscode = require("vscode");
|
|
|
2
2
|
const { GeneratorPanel } = require("./webview/panel");
|
|
3
3
|
|
|
4
4
|
function activate(context) {
|
|
5
|
-
console.log("Vue Page Generator is now active!");
|
|
5
|
+
console.log("�� Vue Page Generator is now active!");
|
|
6
|
+
|
|
7
|
+
// 显示通知确认扩展已激活
|
|
8
|
+
vscode.window.showInformationMessage("Vue Page Generator 扩展已激活!");
|
|
6
9
|
|
|
7
10
|
// 注册右键菜单命令
|
|
8
11
|
const disposable = vscode.commands.registerCommand("vue-generator.createPage", uri => {
|
|
12
|
+
console.log("命令被调用,URI:", uri);
|
|
13
|
+
vscode.window.showInformationMessage("Generate Vue Page 命令被调用!");
|
|
9
14
|
GeneratorPanel.createOrShow(context.extensionUri, uri);
|
|
10
15
|
});
|
|
11
16
|
|
|
12
17
|
context.subscriptions.push(disposable);
|
|
18
|
+
|
|
19
|
+
// 注册一个测试命令
|
|
20
|
+
const testDisposable = vscode.commands.registerCommand("vue-generator.test", () => {
|
|
21
|
+
vscode.window.showInformationMessage("Vue Page Generator 测试命令工作正常!");
|
|
22
|
+
});
|
|
23
|
+
|
|
24
|
+
context.subscriptions.push(testDisposable);
|
|
13
25
|
}
|
|
14
26
|
|
|
15
|
-
function deactivate() {
|
|
27
|
+
function deactivate() {
|
|
28
|
+
console.log("Vue Page Generator 扩展已停用");
|
|
29
|
+
}
|
|
16
30
|
|
|
17
31
|
module.exports = {
|
|
18
32
|
activate,
|