@opensumi/ide-core-browser 3.4.6-next-1730442794.0 → 3.5.0

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.
@@ -61,13 +61,8 @@ export interface StatusBarEntry {
61
61
  iconClass?: string;
62
62
  ariaLabel?: string;
63
63
  role?: string;
64
- /**
65
- * 是否默认展示,可以通过右键菜单控制
66
- */
64
+ side?: 'left' | 'right';
67
65
  hidden?: boolean;
68
- /**
69
- * 鼠标移上去 Content 的内容
70
- */
71
66
  hoverContents?: StatusBarHoverContent[];
72
67
  onClick?: (e: any) => void;
73
68
  }
@@ -1 +1 @@
1
- {"version":3,"file":"status-bar-service.d.ts","sourceRoot":"","sources":["../../src/services/status-bar-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"status-bar-service.d.ts","sourceRoot":"","sources":["../../src/services/status-bar-service.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"status-bar-service.js","sourceRoot":"","sources":["../../src/services/status-bar-service.ts"],"names":[],"mappings":";;;AAMa,QAAA,iBAAiB,GAAG,MAAM,CAAC,mBAAmB,CAAC,CAAC;AAiF7D,IAAY,kBAGX;AAHD,WAAY,kBAAkB;IAC5B,2DAAI,CAAA;IACJ,6DAAK,CAAA;AACP,CAAC,EAHW,kBAAkB,GAAlB,0BAAkB,KAAlB,0BAAkB,QAG7B;AAED,IAAiB,gBAAgB,CAgBhC;AAhBD,WAAiB,gBAAgB;IAClB,4BAAW,GAAG;QACzB,EAAE,EAAE,uBAAuB;KAC5B,CAAC;IAEW,sCAAqB,GAAG;QACnC,EAAE,EAAE,iCAAiC;KACtC,CAAC;IAEW,2BAAU,GAAG;QACxB,EAAE,EAAE,sBAAsB;KAC3B,CAAC;IAEW,8BAAa,GAAG;QAC3B,EAAE,EAAE,yBAAyB;KAC9B,CAAC;AACJ,CAAC,EAhBgB,gBAAgB,GAAhB,wBAAgB,KAAhB,wBAAgB,QAgBhC"}
1
+ {"version":3,"file":"status-bar-service.js","sourceRoot":"","sources":["../../src/services/status-bar-service.ts"],"names":[],"mappings":";;;AAMa,QAAA,iBAAiB,GAAG,MAAM,CAAC,mBAAmB,CAAC,CAAC;AA2F7D,IAAY,kBAGX;AAHD,WAAY,kBAAkB;IAC5B,2DAAI,CAAA;IACJ,6DAAK,CAAA;AACP,CAAC,EAHW,kBAAkB,GAAlB,0BAAkB,KAAlB,0BAAkB,QAG7B;AAED,IAAiB,gBAAgB,CAgBhC;AAhBD,WAAiB,gBAAgB;IAClB,4BAAW,GAAG;QACzB,EAAE,EAAE,uBAAuB;KAC5B,CAAC;IAEW,sCAAqB,GAAG;QACnC,EAAE,EAAE,iCAAiC;KACtC,CAAC;IAEW,2BAAU,GAAG;QACxB,EAAE,EAAE,sBAAsB;KAC3B,CAAC;IAEW,8BAAa,GAAG;QAC3B,EAAE,EAAE,yBAAyB;KAC9B,CAAC;AACJ,CAAC,EAhBgB,gBAAgB,GAAhB,wBAAgB,KAAhB,wBAAgB,QAgBhC"}
@@ -3,6 +3,7 @@ import { IOpenWorkspaceOption, IWindowService, NewWindowOptions } from '.';
3
3
  export declare class WindowService implements IWindowService {
4
4
  private readonly injector;
5
5
  private readonly appConfig;
6
+ private logger;
6
7
  openNewWindow(url: string, options?: NewWindowOptions): Window | undefined;
7
8
  openWorkspace(workspace: URI, options?: IOpenWorkspaceOption): void;
8
9
  close(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"window.service.d.ts","sourceRoot":"","sources":["../../src/window/window.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,MAAM,2BAA2B,CAAC;AAOhD,OAAO,EAAE,oBAAoB,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,GAAG,CAAC;AAE3E,qBACa,aAAc,YAAW,cAAc;IAElD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAW;IAGpC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAY;IAEtC,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,MAAM,GAAG,SAAS;IAqB1E,aAAa,CAAC,SAAS,EAAE,GAAG,EAAE,OAAO,GAAE,oBAAyB,GAAG,IAAI;IAgBvE,KAAK,IAAI,IAAI;IASb,QAAQ,IAAI,IAAI;IAShB,UAAU,IAAI,IAAI;IASlB,UAAU,IAAI,IAAI;IASlB,QAAQ,IAAI,IAAI;CAQjB"}
1
+ {"version":3,"file":"window.service.d.ts","sourceRoot":"","sources":["../../src/window/window.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,MAAM,2BAA2B,CAAC;AAQhD,OAAO,EAAE,oBAAoB,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,GAAG,CAAC;AAE3E,qBACa,aAAc,YAAW,cAAc;IAElD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAW;IAGpC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAY;IAGtC,OAAO,CAAC,MAAM,CAAS;IAEvB,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,MAAM,GAAG,SAAS;IAqB1E,aAAa,CAAC,SAAS,EAAE,GAAG,EAAE,OAAO,GAAE,oBAAyB,GAAG,IAAI;IA2CvE,KAAK,IAAI,IAAI;IASb,QAAQ,IAAI,IAAI;IAShB,UAAU,IAAI,IAAI;IASlB,UAAU,IAAI,IAAI;IASlB,QAAQ,IAAI,IAAI;CAQjB"}
@@ -5,6 +5,7 @@ const tslib_1 = require("tslib");
5
5
  const di_1 = require("@opensumi/di");
6
6
  const ide_core_common_1 = require("@opensumi/ide-core-common");
7
7
  const electron_1 = require("@opensumi/ide-core-common/lib/electron");
8
+ const logger_1 = require("../logger");
8
9
  const config_provider_1 = require("../react-providers/config-provider");
9
10
  const services_1 = require("../services");
10
11
  const electron_2 = require("../utils/electron");
@@ -44,7 +45,35 @@ let WindowService = class WindowService {
44
45
  }
45
46
  }
46
47
  else {
47
- throw new Error('Method not implemented.');
48
+ try {
49
+ const workspaceUri = new ide_core_common_1.URI(workspace.toString());
50
+ let workspacePath;
51
+ if (workspaceUri.scheme === 'file') {
52
+ workspacePath = workspaceUri.codeUri.fsPath;
53
+ }
54
+ else {
55
+ workspacePath = workspaceUri.path.toString();
56
+ }
57
+ if (!workspacePath) {
58
+ throw new Error('Invalid workspace path');
59
+ }
60
+ const url = `${window.location.protocol}//${window.location.host}?workspaceDir=${encodeURIComponent(workspacePath)}`;
61
+ this.logger.debug(`Opening workspace with URL: ${url}`);
62
+ if (options.newWindow) {
63
+ const newWindow = window.open(url);
64
+ if (!newWindow) {
65
+ this.logger.error('Failed to open new window');
66
+ throw new Error('Unable to open new window, please check if your browser blocks pop-ups');
67
+ }
68
+ }
69
+ else {
70
+ parent.window.location.href = url;
71
+ }
72
+ }
73
+ catch (error) {
74
+ this.logger.error('Failed to open workspace:', error);
75
+ throw error;
76
+ }
48
77
  }
49
78
  }
50
79
  close() {
@@ -101,6 +130,10 @@ tslib_1.__decorate([
101
130
  (0, di_1.Autowired)(config_provider_1.AppConfig),
102
131
  tslib_1.__metadata("design:type", Object)
103
132
  ], WindowService.prototype, "appConfig", void 0);
133
+ tslib_1.__decorate([
134
+ (0, di_1.Autowired)(),
135
+ tslib_1.__metadata("design:type", logger_1.Logger)
136
+ ], WindowService.prototype, "logger", void 0);
104
137
  WindowService = tslib_1.__decorate([
105
138
  (0, di_1.Injectable)()
106
139
  ], WindowService);
@@ -1 +1 @@
1
- {"version":3,"file":"window.service.js","sourceRoot":"","sources":["../../src/window/window.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"window.service.js","sourceRoot":"","sources":["../../src/window/window.service.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@opensumi/ide-core-browser",
3
- "version": "3.4.6-next-1730442794.0",
3
+ "version": "3.5.0",
4
4
  "description": "@opensumi/ide-core-browser",
5
5
  "files": [
6
6
  "lib",
@@ -18,9 +18,9 @@
18
18
  "build": "tsc --build ../../configs/ts/references/tsconfig.core-browser.json"
19
19
  },
20
20
  "dependencies": {
21
- "@opensumi/ide-components": "3.4.6-next-1730442794.0",
22
- "@opensumi/ide-connection": "3.4.6-next-1730442794.0",
23
- "@opensumi/ide-core-common": "3.4.6-next-1730442794.0",
21
+ "@opensumi/ide-components": "3.5.0",
22
+ "@opensumi/ide-connection": "3.5.0",
23
+ "@opensumi/ide-core-common": "3.5.0",
24
24
  "@opensumi/vscode-debugprotocol": "1.49.0-beta.1",
25
25
  "@vscode/codicons": "0.0.35",
26
26
  "ajv": "^6.10.0",
@@ -43,5 +43,5 @@
43
43
  "react": "^18.2.0",
44
44
  "react-dom": "^18.2.0"
45
45
  },
46
- "gitHead": "759dad7d4dfb6077148f031bfbf0f29a26a88635"
46
+ "gitHead": "967717cae1872aa8f572e05c3d57b0b5d879de5a"
47
47
  }
@@ -56,25 +56,35 @@ export interface StatusBarEntry {
56
56
  * 标识当前状态栏组件 contextmenu 显示的名称,如果没有使用 text 代替
57
57
  */
58
58
  name?: string;
59
+ // 状态栏项的对齐方式
59
60
  alignment: StatusBarAlignment;
61
+ // 状态栏项的颜色
60
62
  color?: IThemeColor | string;
63
+ // 状态栏项的背景颜色
61
64
  backgroundColor?: IThemeColor | string;
65
+ // 状态栏项的CSS类名称
62
66
  className?: string;
67
+ // 状态栏项的工具提示文本或Markdown字符串
63
68
  tooltip?: string | IMarkdownString;
69
+ // 状态栏项关联的命令ID
64
70
  command?: string;
71
+ // 命令参数数组
65
72
  arguments?: any[];
73
+ // 状态栏项的优先级
66
74
  priority?: number;
75
+ // 状态栏项的图标类名称
67
76
  iconClass?: string;
77
+ // 状态栏项的ARIA标签
68
78
  ariaLabel?: string;
79
+ // 状态栏项的角色属性
69
80
  role?: string;
70
- /**
71
- * 是否默认展示,可以通过右键菜单控制
72
- */
81
+ // 状态栏项的位置,可以是左侧或右侧
82
+ side?: 'left' | 'right';
83
+ // 是否默认展示,可以通过右键菜单控制
73
84
  hidden?: boolean;
74
- /**
75
- * 鼠标移上去 Content 的内容
76
- */
85
+ // 鼠标移上去 Content 的内容
77
86
  hoverContents?: StatusBarHoverContent[];
87
+ // 点击事件
78
88
  onClick?: (e: any) => void;
79
89
  }
80
90
 
@@ -2,6 +2,7 @@ import { Autowired, INJECTOR_TOKEN, Injectable, Injector } from '@opensumi/di';
2
2
  import { URI } from '@opensumi/ide-core-common';
3
3
  import { IElectronMainLifeCycleService, IElectronMainUIService } from '@opensumi/ide-core-common/lib/electron';
4
4
 
5
+ import { Logger } from '../logger';
5
6
  import { AppConfig } from '../react-providers/config-provider';
6
7
  import { IExternalUriService } from '../services';
7
8
  import { electronEnv } from '../utils/electron';
@@ -16,6 +17,9 @@ export class WindowService implements IWindowService {
16
17
  @Autowired(AppConfig)
17
18
  private readonly appConfig: AppConfig;
18
19
 
20
+ @Autowired()
21
+ private logger: Logger;
22
+
19
23
  openNewWindow(url: string, options?: NewWindowOptions): Window | undefined {
20
24
  if (this.appConfig.isElectronRenderer) {
21
25
  // Electron 环境下使用 shell.openExternal 方法打开外部 Uri
@@ -49,7 +53,34 @@ export class WindowService implements IWindowService {
49
53
  });
50
54
  }
51
55
  } else {
52
- throw new Error('Method not implemented.');
56
+ try {
57
+ const workspaceUri = new URI(workspace.toString());
58
+ let workspacePath: string;
59
+ if (workspaceUri.scheme === 'file') {
60
+ workspacePath = workspaceUri.codeUri.fsPath;
61
+ } else {
62
+ workspacePath = workspaceUri.path.toString();
63
+ }
64
+ if (!workspacePath) {
65
+ throw new Error('Invalid workspace path');
66
+ }
67
+ const url = `${window.location.protocol}//${window.location.host}?workspaceDir=${encodeURIComponent(
68
+ workspacePath,
69
+ )}`;
70
+ this.logger.debug(`Opening workspace with URL: ${url}`);
71
+ if (options.newWindow) {
72
+ const newWindow = window.open(url);
73
+ if (!newWindow) {
74
+ this.logger.error('Failed to open new window');
75
+ throw new Error('Unable to open new window, please check if your browser blocks pop-ups');
76
+ }
77
+ } else {
78
+ parent.window.location.href = url;
79
+ }
80
+ } catch (error) {
81
+ this.logger.error('Failed to open workspace:', error);
82
+ throw error;
83
+ }
53
84
  }
54
85
  }
55
86