Skip to content

Commit f247bed

Browse files
committed
perf: parallelize startup activation and lazy-load feature modules
1 parent bd69c6e commit f247bed

11 files changed

Lines changed: 388 additions & 139 deletions

File tree

package.json

Lines changed: 35 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,41 @@
1616
"Other"
1717
],
1818
"activationEvents": [
19-
"onStartupFinished"
19+
"onStartupFinished",
20+
"onView:fusi-tools.aiCommitView",
21+
"onCommand:fusi-tools.previewSmartDiff",
22+
"onCommand:fusi-tools.generateSmart",
23+
"onCommand:fusi-tools.generateDirect",
24+
"onCommand:fusi-tools.applyCommit",
25+
"onCommand:fusi-tools.viewAiPrompt",
26+
"onView:fusi-tools.gitIgnoreManager.view",
27+
"onCommand:fusi-tools.gitIgnoreManager.ignoreAssumeUnchanged",
28+
"onCommand:fusi-tools.gitIgnoreManager.ignoreSkipWorktree",
29+
"onCommand:fusi-tools.gitIgnoreManager.showIgnored",
30+
"onCommand:fusi-tools.gitIgnoreManager.unignore",
31+
"onCommand:fusi-tools.gitIgnoreManager.refresh",
32+
"onView:fusi-tools.gitWorktree.view",
33+
"onCommand:fusi-tools.gitWorktree.refresh",
34+
"onCommand:fusi-tools.gitWorktree.openIntegratedTerminal",
35+
"onCommand:fusi-tools.gitWorktree.openExternalTerminal",
36+
"onCommand:fusi-tools.gitWorktree.pull",
37+
"onCommand:fusi-tools.gitWorktree.push",
38+
"onCommand:fusi-tools.gitWorktree.revealInExplorer",
39+
"onCommand:fusi-tools.gitWorktree.openInVsCode",
40+
"onView:fusi-tools.projectFavorites.view",
41+
"onCommand:fusi-tools.projectFavorites.addFile",
42+
"onCommand:fusi-tools.projectFavorites.moveToCategory",
43+
"onCommand:fusi-tools.projectFavorites.addCategory",
44+
"onCommand:fusi-tools.projectFavorites.removeFile",
45+
"onCommand:fusi-tools.projectFavorites.removeCategory",
46+
"onCommand:fusi-tools.projectFavorites.renameCategory",
47+
"onCommand:fusi-tools.projectFavorites.renameFile",
48+
"onCommand:fusi-tools.projectFavorites.refresh",
49+
"onCommand:fusi-tools.copyName",
50+
"onCommand:fusi-tools.copyRelativeName",
51+
"onCommand:fusi-tools.generateTree",
52+
"onCommand:fusi-tools.copyFile",
53+
"onCommand:fusi-tools.customCopy"
2054
],
2155
"extensionDependencies": [
2256
"vscode.git"

src/extension.ts

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import { getAllModules } from "./modules";
77
* 扩展激活时调用
88
*/
99
export async function activate(context: vscode.ExtensionContext) {
10+
const activationStarted = Date.now();
1011
// 从配置中加载日志级别
1112
Logger.loadLogLevelFromConfig();
1213

@@ -25,9 +26,11 @@ export async function activate(context: vscode.ExtensionContext) {
2526
// 注册所有功能模块
2627
featureLoader.registerAll(getAllModules());
2728

28-
// 激活所有模块(带错误处理)
29-
await featureLoader.activateAll(context);
29+
// 先注册懒触发入口,再激活启动模块
30+
featureLoader.registerLazyEntrypoints(context);
31+
await featureLoader.activateStartupModules(context);
3032

33+
Logger.info(`[perf][activate] 扩展激活总耗时 ${Date.now() - activationStarted}ms`);
3134
Logger.info("Fusi Tools activation completed.");
3235
}
3336

0 commit comments

Comments
 (0)