Skip to content

Commit 7a406d8

Browse files
author
winjo
committed
feat: 升级 kaitian 2.0
1 parent 6b0b901 commit 7a406d8

43 files changed

Lines changed: 876 additions & 1882 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

package.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,10 @@
88
"description": "Ant Codespaces for browser",
99
"main": "index.js",
1010
"engines": {
11-
"kaitian": "1.35.2"
11+
"kaitian": "2.2.0"
1212
},
1313
"scripts": {
14-
"type-check": "tsc --noEmit",
14+
"type-check": "tsc --skipLibCheck --noEmit",
1515
"preinstall": "node scripts/preinstall && npm run prepare:env",
1616
"prepare:env": "yum --version && sudo yum -y install unzip gcc-c++ libX11-devel libxkbfile-devel || echo 'no yum'",
1717
"init": "npm run clean && npm run build && npm run ext",
@@ -95,7 +95,7 @@
9595
{
9696
"publisher": "alex",
9797
"name": "markdown-language-features-worker",
98-
"version": "1.0.0-beta.1"
98+
"version": "1.0.0-beta.2"
9999
},
100100
{
101101
"publisher": "alex",
@@ -115,7 +115,7 @@
115115
{
116116
"publisher": "cloud-ide",
117117
"name": "vscode-lsif",
118-
"version": "0.1.2"
118+
"version": "0.1.6"
119119
}
120120
]
121121
}

packages/alex/package.json

Lines changed: 38 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -28,41 +28,44 @@
2828
"registry": "https://registry.npm.alibaba-inc.com"
2929
},
3030
"dependencies": {
31-
"@ali/ide-addons": "1.35.2",
32-
"@ali/ide-comments": "1.35.2",
33-
"@ali/ide-core-browser": "1.35.2",
34-
"@ali/ide-core-common": "1.35.2",
35-
"@ali/ide-debug": "1.35.2",
36-
"@ali/ide-decoration": "1.35.2",
37-
"@ali/ide-editor": "1.35.2",
38-
"@ali/ide-explorer": "1.35.2",
39-
"@ali/ide-express-file-server": "1.35.2",
40-
"@ali/ide-extension-storage": "1.35.2",
41-
"@ali/ide-file-scheme": "1.35.2",
42-
"@ali/ide-file-service": "1.35.2",
43-
"@ali/ide-file-tree-next": "1.35.2",
44-
"@ali/ide-kaitian-extension": "1.35.2",
45-
"@ali/ide-keymaps": "1.35.2",
46-
"@ali/ide-logs": "1.35.2",
47-
"@ali/ide-main-layout": "1.35.2",
48-
"@ali/ide-markers": "1.35.2",
49-
"@ali/ide-menu-bar": "1.35.2",
50-
"@ali/ide-monaco": "1.35.2",
51-
"@ali/ide-monaco-enhance": "1.35.2",
52-
"@ali/ide-opened-editor": "1.35.2",
53-
"@ali/ide-outline": "1.35.2",
54-
"@ali/ide-output": "1.35.2",
55-
"@ali/ide-overlay": "1.35.2",
56-
"@ali/ide-preferences": "1.35.2",
57-
"@ali/ide-quick-open": "1.35.2",
58-
"@ali/ide-scm": "1.35.2",
59-
"@ali/ide-static-resource": "1.35.2",
60-
"@ali/ide-status-bar": "1.35.2",
61-
"@ali/ide-storage": "1.35.2",
62-
"@ali/ide-theme": "1.35.2",
63-
"@ali/ide-webview": "1.35.2",
64-
"@ali/ide-workspace": "1.35.2",
65-
"@ali/ide-workspace-edit": "1.35.2",
31+
"@ali/ide-addons": "2.2.0",
32+
"@ali/ide-comments": "2.2.0",
33+
"@ali/ide-core-browser": "2.2.0",
34+
"@ali/ide-core-common": "2.2.0",
35+
"@ali/ide-debug": "2.2.0",
36+
"@ali/ide-decoration": "2.2.0",
37+
"@ali/ide-editor": "2.2.0",
38+
"@ali/ide-explorer": "2.2.0",
39+
"@ali/ide-express-file-server": "2.2.0",
40+
"@ali/ide-extension-storage": "2.2.0",
41+
"@ali/ide-file-scheme": "2.2.0",
42+
"@ali/ide-file-service": "2.2.0",
43+
"@ali/ide-file-tree-next": "2.2.0",
44+
"@ali/ide-i18n": "2.2.0",
45+
"@ali/ide-kaitian-extension": "2.2.0",
46+
"@ali/ide-keymaps": "2.2.0",
47+
"@ali/ide-logs": "2.2.0",
48+
"@ali/ide-main-layout": "2.2.0",
49+
"@ali/ide-markdown": "2.2.0",
50+
"@ali/ide-markers": "2.2.0",
51+
"@ali/ide-menu-bar": "2.2.0",
52+
"@ali/ide-monaco": "2.2.0",
53+
"@ali/ide-monaco-enhance": "2.2.0",
54+
"@ali/ide-opened-editor": "2.2.0",
55+
"@ali/ide-outline": "2.2.0",
56+
"@ali/ide-output": "2.2.0",
57+
"@ali/ide-overlay": "2.2.0",
58+
"@ali/ide-preferences": "2.2.0",
59+
"@ali/ide-quick-open": "2.2.0",
60+
"@ali/ide-scm": "2.2.0",
61+
"@ali/ide-search": "2.2.0",
62+
"@ali/ide-static-resource": "2.2.0",
63+
"@ali/ide-status-bar": "2.2.0",
64+
"@ali/ide-storage": "2.2.0",
65+
"@ali/ide-theme": "2.2.0",
66+
"@ali/ide-webview": "2.2.0",
67+
"@ali/ide-workspace": "2.2.0",
68+
"@ali/ide-workspace-edit": "2.2.0",
6669
"@ali/kaitian-textmate-languages": "^2.2.0",
6770
"@alipay/alex-cli": "0.14.1",
6871
"@alipay/alex-code-api": "0.14.1",

packages/alex/src/api/createApp.tsx

Lines changed: 3 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -17,14 +17,11 @@ import {
1717
import { BoxPanel, SplitPanel } from '@ali/ide-core-browser/lib/components';
1818
import { IThemeService } from '@ali/ide-theme/lib/common';
1919
import '@ali/ide-core-browser/lib/style/index.less';
20-
import { isMonacoLoaded, loadMonaco } from '@ali/ide-monaco/lib/browser/monaco-loader';
21-
import { IEditorDocumentModelService } from '@ali/ide-editor/lib/browser';
22-
import { EditorDocumentModelServiceImpl } from '@ali/ide-editor/lib/browser/doc-model/editor-document-model-service';
23-
import { EditorDocumentModel } from '@ali/ide-editor/lib/browser/doc-model/editor-document-model';
2420
import { FileTreeModelService } from '@ali/ide-file-tree-next/lib/browser/services/file-tree-model.service';
25-
import { WorkerExtensionService } from '@ali/ide-kaitian-extension/lib/browser/extension.worker.service';
2621
import * as os from 'os';
2722

23+
import { disposeMode } from '../core/patch';
24+
2825
import { modules } from '../core/modules';
2926
import { IconSlim, IDETheme } from '../core/extensions';
3027
import { mergeConfig, themeStorage } from '../core/utils';
@@ -69,16 +66,6 @@ const getDefaultAppConfig = (): IAppOpts => ({
6966

7067
export const DEFAULT_APP_CONFIG = getDefaultAppConfig();
7168

72-
// 提前加载 monaco 并提前缓存 codeEditorService
73-
loadMonaco({
74-
monacoCDNBase:
75-
'https://gw.alipayobjects.com/os/lib/alipay/ame/0.17.0-patch.4/out-monaco-editor-core/min/',
76-
});
77-
let codeEditorService: any = null;
78-
isMonacoLoaded()?.then(() => {
79-
codeEditorService = (monaco as any).services.StaticServices.codeEditorService;
80-
});
81-
8269
export function createApp({ appConfig, runtimeConfig }: IConfig): IAppInstance {
8370
const customConfig = typeof appConfig === 'function' ? appConfig() : appConfig;
8471
const opts = mergeConfig(getDefaultAppConfig(), customConfig);
@@ -132,27 +119,7 @@ export function createApp({ appConfig, runtimeConfig }: IConfig): IAppInstance {
132119
return;
133120
}
134121
destroyed = true;
135-
// from acr
136-
const editorDocModelService = app.injector.get(
137-
IEditorDocumentModelService
138-
) as EditorDocumentModelServiceImpl;
139-
for (const instance of Array.from(
140-
editorDocModelService['_modelReferenceManager'].instances.values()
141-
) as EditorDocumentModel[]) {
142-
instance['monacoModel'].dispose();
143-
}
144-
if (codeEditorService) {
145-
codeEditorService._value = null;
146-
}
147-
const modeService = (monaco as any).services.StaticServices.modeService;
148-
// 需要把 LanguageRegistry dispose,否则二次加载会重复触发事件,导致加载越来越慢
149-
modeService._value._registry.dispose();
150-
modeService._value = null;
151-
// @ts-ignore
152-
// common-di 通过参数实例化无法自动 dispose
153-
app.injector.get(WorkerExtensionService)?.protocol?._locals?.forEach((instance) => {
154-
instance.dispose?.();
155-
});
122+
disposeMode();
156123
app.injector.disposeAll();
157124
};
158125

packages/alex/src/api/createEditor.tsx

Lines changed: 3 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -17,13 +17,10 @@ import {
1717
import { BoxPanel, SplitPanel } from '@ali/ide-core-browser/lib/components';
1818
import { IThemeService } from '@ali/ide-theme/lib/common';
1919
import '@ali/ide-core-browser/lib/style/index.less';
20-
import { isMonacoLoaded, loadMonaco } from '@ali/ide-monaco/lib/browser/monaco-loader';
21-
import { IEditorDocumentModelService } from '@ali/ide-editor/lib/browser';
22-
import { EditorDocumentModelServiceImpl } from '@ali/ide-editor/lib/browser/doc-model/editor-document-model-service';
23-
import { EditorDocumentModel } from '@ali/ide-editor/lib/browser/doc-model/editor-document-model';
2420
import * as os from 'os';
2521
import { IPluginConfig } from '@alipay/alex-plugin';
2622

23+
import { disposeMode } from '../core/patch';
2724
import { getModules } from '../core/editor/modules';
2825
import { mergeConfig, themeStorage } from '../core/utils';
2926
import { EditorLayoutComponent, getEditorLayoutConfig } from '../core/layout';
@@ -43,6 +40,7 @@ const getDefaultAppConfig = (): IAppOpts => ({
4340
'application.confirmExit': 'never',
4441
'editor.autoSave': 'afterDelay',
4542
'editor.autoSaveDelay': 1000, // one second
43+
'editor.fixedOverflowWidgets': true, // widget editor 默认改为 fixed
4644
'files.exclude': {
4745
...FILES_DEFAULTS.filesExclude,
4846
// browserfs OverlayFS 用来记录删除的文件
@@ -59,16 +57,6 @@ const getDefaultAppConfig = (): IAppOpts => ({
5957
allowSetDocumentTitleFollowWorkspaceDir: false,
6058
});
6159

62-
// 提前加载 monaco 并提前缓存 codeEditorService
63-
loadMonaco({
64-
monacoCDNBase:
65-
'https://gw.alipayobjects.com/os/lib/alipay/ame/0.17.0-patch.4/out-monaco-editor-core/min/',
66-
});
67-
let codeEditorService: any = null;
68-
isMonacoLoaded()?.then(() => {
69-
codeEditorService = (monaco as any).services.StaticServices.codeEditorService;
70-
});
71-
7260
export function createEditor({ appConfig, runtimeConfig }: IConfig): IAppInstance {
7361
const customConfig = typeof appConfig === 'function' ? appConfig() : appConfig;
7462
const opts = mergeConfig(getDefaultAppConfig(), customConfig);
@@ -119,22 +107,7 @@ export function createEditor({ appConfig, runtimeConfig }: IConfig): IAppInstanc
119107
return;
120108
}
121109
destroyed = true;
122-
// from acr
123-
const editorDocModelService = app.injector.get(
124-
IEditorDocumentModelService
125-
) as EditorDocumentModelServiceImpl;
126-
for (const instance of Array.from(
127-
editorDocModelService['_modelReferenceManager'].instances.values()
128-
) as EditorDocumentModel[]) {
129-
instance['monacoModel'].dispose();
130-
}
131-
if (codeEditorService) {
132-
codeEditorService._value = null;
133-
}
134-
const modeService = (monaco as any).services.StaticServices.modeService;
135-
// 需要把 LanguageRegistry dispose,否则二次加载会重复触发事件,导致加载越来越慢
136-
modeService._value._registry.dispose();
137-
modeService._value = null;
110+
disposeMode();
138111
app.injector.disposeAll();
139112
};
140113

packages/alex/src/core/constants.ts

Lines changed: 0 additions & 1 deletion
This file was deleted.

0 commit comments

Comments
 (0)