注册命令

This commit is contained in:
Pan Qiancheng 2024-11-27 11:19:02 +08:00
parent 4c85702a53
commit 417f3688c3
3 changed files with 18 additions and 2 deletions

View File

@ -212,6 +212,7 @@ const commonCommands = createCommonPlugin();
const checkPagesAndNamespacePlugin = checkPagesAndNamespace();
const createOakTreePanelPlugin = createOakTreePanel();
const refreshEntityCommand = registerRefreshEntityCommand();
export async function activate(context: vscode.ExtensionContext) {
const loadPlugin = (config: OakConfiog) => {
@ -240,7 +241,7 @@ export async function activate(context: vscode.ExtensionContext) {
);
createFileWatcher(context);
activateStyleConvert(context);
registerRefreshEntityCommand();
refreshEntityCommand.activate(context);
} catch (error) {
console.error('激活插件时出错:', error);
}
@ -347,4 +348,5 @@ export function deactivate() {
deactivateOakComponentPropsLinkProvider();
stopWorker();
deactivateStyleConvert();
refreshEntityCommand.dispose();
}

View File

@ -314,10 +314,19 @@ export const genProjections = (name: string): string[] => {
// 注册命令oak-assistant.refreshEntity
export const registerRefreshEntityCommand = () => {
return vscode.commands.registerCommand(
const command = vscode.commands.registerCommand(
'oak-assistant.refreshEntity',
() => {
analyzeOakAppDomain(pathConfig.oakAppDomainHome, true);
}
);
return {
dispose() {
command.dispose();
},
activate(context: vscode.ExtensionContext) {
context.subscriptions.push(command);
},
};
};

View File

@ -28,6 +28,7 @@ export const internalPath = {
oakAppDomain: `src${delimiter}oak-app-domain`,
components: `src${delimiter}components`,
locales: `src${delimiter}locales`,
aspects: `src${delimiter}aspects`,
// 插件的缓存文件目录
cachePath: `node_modules${delimiter}aaaaaoakPcache`,
};
@ -42,6 +43,7 @@ export const pathConfig: {
get oakAppDomainHome(): string;
get componentsHome(): string;
get localesHome(): string;
get aspectsHome(): string;
get cachePath(): string;
} = {
projectHome: '',
@ -69,6 +71,9 @@ export const pathConfig: {
get localesHome() {
return `${this.projectHome}${delimiter}${internalPath.locales}`;
},
get aspectsHome() {
return `${this.projectHome}${delimiter}${internalPath.aspects}`;
},
get cachePath() {
return `${this.projectHome}${delimiter}${internalPath.cachePath}`;
},