refactor(main): if devstarDomain_sessionId exist and isn't null, use it first

This commit is contained in:
Levi Yan
2025-06-22 16:22:33 +08:00
parent 41b97301f7
commit c18fc24016

View File

@@ -28,9 +28,17 @@ export class DevStarExtension {
// 如果global state中devstarDomain的值不为空则在global state中存储一个键值对为devstarDomain_<sessionId>和devstar domain并把devstarDomain的值置空.
// 这时如果remote窗口需要打开项目且global state中的devstarDomain_<sessionId>键存在、值不为空,
// 则取出并清掉devstarDomain_<sessionId>键值对并通过参数将devstar domain传递给/openProjectSkippingLoginCheck由其将devstar domain继续存储在devstarDomain中
// 则取出其值并通过参数将devstar domain传递给/openProjectSkippingLoginCheck
//
// 如果global state中devstarDomain_<sessionId>存在,直接使用
const devstarDomain_sessionId: string | undefined = context.globalState.get('devstarDomain_' + vscode.env.sessionId)
const devstarDomain: string | undefined = context.globalState.get('devstarDomain')
if (devstarDomain != undefined && devstarDomain != "") {
if (devstarDomain_sessionId != undefined && devstarDomain_sessionId != "") {
this.user = new User(context, devstarDomain_sessionId)
this.remoteContainer = new RemoteContainer(this.user);
this.dsHome = new DSHome(context, this.user, devstarDomain_sessionId)
} else if (devstarDomain != undefined && devstarDomain != "") {
console.log('domain in global state', devstarDomain)
// global state中存在devstarDomain
this.user = new User(context, devstarDomain)
@@ -72,7 +80,7 @@ export class DevStarExtension {
// 修改user、remote-container、home中的devstar domain和hostname
this.user.setDevstarDomain(devstarDomain)
this.remoteContainer.setUser(this.user)
this.dsHome.setDevstarDomain(devstarDomain)
this.dsHome.setDevstarDomainAndHomePageURL(devstarDomain)
this.dsHome.setUser(this.user)
this.dsHome.setRemoteContainer(this.remoteContainer)
vscode.commands.executeCommand('devstar.showHome');