@opensumi/ide-ai-native 3.7.1-next-1739521933.0 → 3.7.1-next-1739761524.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.
- package/lib/browser/components/utils.d.ts +2 -2
- package/lib/browser/contrib/intelligent-completions/index.d.ts +12 -8
- package/lib/browser/contrib/intelligent-completions/index.d.ts.map +1 -1
- package/lib/browser/contrib/intelligent-completions/index.js.map +1 -1
- package/lib/browser/contrib/intelligent-completions/source/base.d.ts +1 -8
- package/lib/browser/contrib/intelligent-completions/source/base.d.ts.map +1 -1
- package/lib/browser/contrib/intelligent-completions/source/base.js +3 -21
- package/lib/browser/contrib/intelligent-completions/source/base.js.map +1 -1
- package/lib/browser/contrib/intelligent-completions/source/line-change.source.d.ts +2 -0
- package/lib/browser/contrib/intelligent-completions/source/line-change.source.d.ts.map +1 -1
- package/lib/browser/contrib/intelligent-completions/source/line-change.source.js +37 -5
- package/lib/browser/contrib/intelligent-completions/source/line-change.source.js.map +1 -1
- package/lib/browser/contrib/intelligent-completions/source/lint-error.source.d.ts +3 -1
- package/lib/browser/contrib/intelligent-completions/source/lint-error.source.d.ts.map +1 -1
- package/lib/browser/contrib/intelligent-completions/source/lint-error.source.js +20 -13
- package/lib/browser/contrib/intelligent-completions/source/lint-error.source.js.map +1 -1
- package/lib/browser/contrib/intelligent-completions/source/typing.source.d.ts +2 -2
- package/lib/browser/contrib/intelligent-completions/source/typing.source.d.ts.map +1 -1
- package/lib/browser/contrib/intelligent-completions/source/typing.source.js +8 -6
- package/lib/browser/contrib/intelligent-completions/source/typing.source.js.map +1 -1
- package/lib/browser/layout/layout.module.less +9 -9
- package/lib/browser/layout/tabbar.view.d.ts.map +1 -1
- package/lib/browser/layout/tabbar.view.js +5 -6
- package/lib/browser/layout/tabbar.view.js.map +1 -1
- package/package.json +21 -21
- package/src/browser/contrib/intelligent-completions/index.ts +4 -9
- package/src/browser/contrib/intelligent-completions/source/base.ts +5 -28
- package/src/browser/contrib/intelligent-completions/source/line-change.source.ts +57 -7
- package/src/browser/contrib/intelligent-completions/source/lint-error.source.ts +31 -19
- package/src/browser/contrib/intelligent-completions/source/typing.source.ts +9 -7
- package/src/browser/layout/layout.module.less +9 -9
- package/src/browser/layout/tabbar.view.tsx +10 -8
|
@@ -16,8 +16,8 @@ export declare const createMessageByUser: (message: UserMessageData, className?:
|
|
|
16
16
|
relationId: string;
|
|
17
17
|
text: string | React.ReactNode;
|
|
18
18
|
id: string | number;
|
|
19
|
-
position: string;
|
|
20
19
|
title: string;
|
|
20
|
+
position: string;
|
|
21
21
|
};
|
|
22
22
|
export declare const createMessageByAI: (message: AIMessageData, className?: string) => {
|
|
23
23
|
type: string;
|
|
@@ -26,8 +26,8 @@ export declare const createMessageByAI: (message: AIMessageData, className?: str
|
|
|
26
26
|
relationId: string;
|
|
27
27
|
text: string | React.ReactNode;
|
|
28
28
|
id: string | number;
|
|
29
|
-
position: string;
|
|
30
29
|
title: string;
|
|
30
|
+
position: string;
|
|
31
31
|
};
|
|
32
32
|
export declare const extractIcon: (question: ISampleQuestions) => ISampleQuestions;
|
|
33
33
|
export {};
|
|
@@ -9,15 +9,19 @@ export interface IIntelligentCompletionsResult<T = any> {
|
|
|
9
9
|
*/
|
|
10
10
|
extra?: T;
|
|
11
11
|
}
|
|
12
|
-
export
|
|
13
|
-
typing: ECodeEditsSourceTyping;
|
|
12
|
+
export type ICodeEditsContextBean = {
|
|
13
|
+
typing: ECodeEditsSourceTyping.LinterErrors;
|
|
14
14
|
position: IPosition;
|
|
15
|
-
data:
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
}
|
|
15
|
+
data: ILinterErrorData;
|
|
16
|
+
} | {
|
|
17
|
+
typing: ECodeEditsSourceTyping.LineChange;
|
|
18
|
+
position: IPosition;
|
|
19
|
+
data: ILineChangeData;
|
|
20
|
+
} | {
|
|
21
|
+
typing: ECodeEditsSourceTyping.Typing;
|
|
22
|
+
position: IPosition;
|
|
23
|
+
data: IModelContentChangedEvent;
|
|
24
|
+
};
|
|
21
25
|
export interface ICodeEdit {
|
|
22
26
|
/**
|
|
23
27
|
* 插入的文本
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/browser/contrib/intelligent-completions/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAC/E,OAAO,EAAE,yBAAyB,EAAE,SAAS,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAEtG,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAEnE,MAAM,WAAW,6BAA6B,CAAC,CAAC,GAAG,GAAG;IACpD,QAAQ,CAAC,KAAK,EAAE,gBAAgB,EAAE,CAAC;IACnC;;OAEG;IACH,KAAK,CAAC,EAAE,CAAC,CAAC;CACX;AAED,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/browser/contrib/intelligent-completions/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAC/E,OAAO,EAAE,yBAAyB,EAAE,SAAS,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAEtG,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAEnE,MAAM,WAAW,6BAA6B,CAAC,CAAC,GAAG,GAAG;IACpD,QAAQ,CAAC,KAAK,EAAE,gBAAgB,EAAE,CAAC;IACnC;;OAEG;IACH,KAAK,CAAC,EAAE,CAAC,CAAC;CACX;AAED,MAAM,MAAM,qBAAqB,GAC7B;IAAE,MAAM,EAAE,sBAAsB,CAAC,YAAY,CAAC;IAAC,QAAQ,EAAE,SAAS,CAAC;IAAC,IAAI,EAAE,gBAAgB,CAAA;CAAE,GAC5F;IAAE,MAAM,EAAE,sBAAsB,CAAC,UAAU,CAAC;IAAC,QAAQ,EAAE,SAAS,CAAC;IAAC,IAAI,EAAE,eAAe,CAAA;CAAE,GACzF;IAAE,MAAM,EAAE,sBAAsB,CAAC,MAAM,CAAC;IAAC,QAAQ,EAAE,SAAS,CAAC;IAAC,IAAI,EAAE,yBAAyB,CAAA;CAAE,CAAC;AAEpG,MAAM,WAAW,SAAS;IACxB;;OAEG;IACH,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AACD,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,KAAK,EAAE,SAAS,EAAE,CAAC;CAC7B;AAED,qBAAa,oBAAqB,SAAQ,UAAU;IACtC,OAAO,CAAC,QAAQ,CAAC,GAAG;gBAAH,GAAG,EAAE,gBAAgB;IAIlD,IAAW,KAAK,IAAI,SAAS,EAAE,CAE9B;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/browser/contrib/intelligent-completions/index.ts"],"names":[],"mappings":";;;AAAA,+DAA+E;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/browser/contrib/intelligent-completions/index.ts"],"names":[],"mappings":";;;AAAA,+DAA+E;AAiC/E,MAAa,oBAAqB,SAAQ,4BAAU;IAClD,YAA6B,GAAqB;QAChD,KAAK,EAAE,CAAC;QADmB,QAAG,GAAH,GAAG,CAAkB;IAElD,CAAC;IAED,IAAW,KAAK;QACd,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC;IACxB,CAAC;CACF;AARD,oDAQC"}
|
|
@@ -9,15 +9,8 @@ export declare class CodeEditsContextBean extends Disposable {
|
|
|
9
9
|
constructor(raw: ICodeEditsContextBean, source: BaseCodeEditsSource);
|
|
10
10
|
get priority(): number;
|
|
11
11
|
get bean(): ICodeEditsContextBean;
|
|
12
|
-
get typing(): import("@opensumi/ide-core-browser").ECodeEditsSourceTyping;
|
|
13
12
|
get position(): import("@opensumi/ide-monaco").IPosition;
|
|
14
|
-
get data(): {
|
|
15
|
-
lint_errors?: import("./lint-error.source").ILinterErrorData;
|
|
16
|
-
line_change?: import("./line-change.source").ILineChangeData;
|
|
17
|
-
typing?: import("@opensumi/ide-monaco").IModelContentChangedEvent;
|
|
18
|
-
};
|
|
19
13
|
get token(): import("@opensumi/ide-monaco").CancellationToken;
|
|
20
|
-
joinData(data: ICodeEditsContextBean['data']): void;
|
|
21
14
|
reporterStart(): void;
|
|
22
15
|
cancelToken(): void;
|
|
23
16
|
reporterEnd(data: CodeEditsRT): void;
|
|
@@ -36,7 +29,7 @@ export declare abstract class BaseCodeEditsSource extends Disposable {
|
|
|
36
29
|
constructor(monacoEditor: ICodeEditor);
|
|
37
30
|
protected get model(): import("@opensumi/ide-monaco").ITextModel | null;
|
|
38
31
|
protected resetBean(): void;
|
|
39
|
-
protected setBean(bean:
|
|
32
|
+
protected setBean(bean: ICodeEditsContextBean): void;
|
|
40
33
|
reporterStart(): void;
|
|
41
34
|
reporterEnd(data: CodeEditsRT): void;
|
|
42
35
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../../../src/browser/contrib/intelligent-completions/source/base.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAEL,WAAW,EACX,aAAa,EACb,UAAU,EAEV,WAAW,
|
|
1
|
+
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../../../src/browser/contrib/intelligent-completions/source/base.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAEL,WAAW,EACX,aAAa,EACb,UAAU,EAEV,WAAW,EAGZ,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAA2B,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAU5E,OAAO,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AAEjD,qBAAa,oBAAqB,SAAQ,UAAU;IAGtC,OAAO,CAAC,QAAQ,CAAC,GAAG;IAAyB,OAAO,CAAC,QAAQ,CAAC,MAAM;IAFhF,SAAgB,GAAG,SAAW;gBAED,GAAG,EAAE,qBAAqB,EAAmB,MAAM,EAAE,mBAAmB;IAIrG,IAAW,QAAQ,WAElB;IAED,IAAW,IAAI,0BAEd;IAED,IAAW,QAAQ,6CAElB;IAED,IAAW,KAAK,qDAEf;IAEM,aAAa;IAIb,WAAW;IAIX,WAAW,CAAC,IAAI,EAAE,WAAW;CAGrC;AAED,8BACsB,mBAAoB,SAAQ,UAAU;IAwBlC,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,WAAW;IAtBpE,OAAO,CAAC,UAAU,CAAc;IAGhC,SAAS,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IAE/C,OAAO,CAAC,uBAAuB,CAAiC;IAChE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAwD;IAEnF,SAAgB,oBAAoB,qMAAgF;IACpH,SAAgB,QAAQ,EAAE,MAAM,CAAC;aACjB,KAAK,IAAI,WAAW;IACpC,IAAW,KAAK,qDAEf;IAEM,WAAW;gBAOyB,YAAY,EAAE,WAAW;IAIpE,SAAS,KAAK,KAAK,qDAElB;IAED,SAAS,CAAC,SAAS;IAOnB,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,qBAAqB;IAOtC,aAAa;IAcb,WAAW,CAAC,IAAI,EAAE,WAAW;CAMrC;AAED,qBACa,yBAA0B,SAAQ,UAAU;IAOrD,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IACnC,OAAO,CAAC,QAAQ,CAAC,YAAY;IAN/B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAW;IAEpC,SAAgB,oBAAoB,qMAAgF;gBAGjG,kBAAkB,EAAE,aAAa,CAAC,mBAAmB,CAAC,EAAE,EACxD,YAAY,EAAE,WAAW;CA6C7C"}
|
|
@@ -20,21 +20,12 @@ class CodeEditsContextBean extends ide_core_common_1.Disposable {
|
|
|
20
20
|
get bean() {
|
|
21
21
|
return this.raw;
|
|
22
22
|
}
|
|
23
|
-
get typing() {
|
|
24
|
-
return this.raw.typing;
|
|
25
|
-
}
|
|
26
23
|
get position() {
|
|
27
24
|
return this.raw.position;
|
|
28
25
|
}
|
|
29
|
-
get data() {
|
|
30
|
-
return this.raw.data;
|
|
31
|
-
}
|
|
32
26
|
get token() {
|
|
33
27
|
return this.source.token;
|
|
34
28
|
}
|
|
35
|
-
joinData(data) {
|
|
36
|
-
this.raw.data = { ...this.data, ...data };
|
|
37
|
-
}
|
|
38
29
|
reporterStart() {
|
|
39
30
|
return this.source.reporterStart();
|
|
40
31
|
}
|
|
@@ -73,7 +64,7 @@ let BaseCodeEditsSource = class BaseCodeEditsSource extends ide_core_common_1.Di
|
|
|
73
64
|
}
|
|
74
65
|
setBean(bean) {
|
|
75
66
|
(0, observable_1.transaction)((tx) => {
|
|
76
|
-
const context = new CodeEditsContextBean(
|
|
67
|
+
const context = new CodeEditsContextBean(bean, this);
|
|
77
68
|
this.codeEditsContextBean.set(context, tx);
|
|
78
69
|
});
|
|
79
70
|
}
|
|
@@ -82,7 +73,7 @@ let BaseCodeEditsSource = class BaseCodeEditsSource extends ide_core_common_1.Di
|
|
|
82
73
|
if (context) {
|
|
83
74
|
const relationID = this.aiReporter.start(ide_core_common_1.AIServiceType.CodeEdits, {
|
|
84
75
|
type: ide_core_common_1.AIServiceType.CodeEdits,
|
|
85
|
-
actionSource: context === null || context === void 0 ? void 0 : context.typing,
|
|
76
|
+
actionSource: context === null || context === void 0 ? void 0 : context.bean.typing,
|
|
86
77
|
});
|
|
87
78
|
(0, observable_1.transaction)((tx) => {
|
|
88
79
|
this.relationID.set(relationID, tx);
|
|
@@ -136,19 +127,10 @@ let CodeEditsSourceCollection = class CodeEditsSourceCollection extends ide_core
|
|
|
136
127
|
let contextBean;
|
|
137
128
|
for (const source of lastSources) {
|
|
138
129
|
const value = source.codeEditsContextBean.get();
|
|
139
|
-
if (
|
|
140
|
-
return;
|
|
141
|
-
}
|
|
142
|
-
if (!contextBean) {
|
|
143
|
-
contextBean = value;
|
|
144
|
-
}
|
|
145
|
-
if (value.priority >= highestPriority) {
|
|
130
|
+
if (value && value.priority >= highestPriority) {
|
|
146
131
|
highestPriority = value.priority;
|
|
147
|
-
value.joinData(contextBean.data);
|
|
148
132
|
contextBean = value;
|
|
149
133
|
}
|
|
150
|
-
// 将多个 source 的 data 合并到一起
|
|
151
|
-
contextBean.joinData(value.data);
|
|
152
134
|
}
|
|
153
135
|
(0, observable_1.transaction)((tx) => {
|
|
154
136
|
// 只通知最高优先级的结果
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../../../../src/browser/contrib/intelligent-completions/source/base.ts"],"names":[],"mappings":";;;;AAAA,qCAAyF;AACzF,iEAA+D;AAC/D,+
|
|
1
|
+
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../../../../src/browser/contrib/intelligent-completions/source/base.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import { IDisposable } from '@opensumi/ide-core-common';
|
|
2
|
+
import { IModelContentChangedEvent } from '@opensumi/ide-monaco';
|
|
2
3
|
import { BaseCodeEditsSource } from './base';
|
|
3
4
|
export interface ILineChangeData {
|
|
4
5
|
currentLineNumber: number;
|
|
5
6
|
preLineNumber?: number;
|
|
7
|
+
change?: IModelContentChangedEvent;
|
|
6
8
|
}
|
|
7
9
|
export declare class LineChangeCodeEditsSource extends BaseCodeEditsSource {
|
|
8
10
|
priority: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"line-change.source.d.ts","sourceRoot":"","sources":["../../../../../src/browser/contrib/intelligent-completions/source/line-change.source.ts"],"names":[],"mappings":"AACA,OAAO,EAAqD,WAAW,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"line-change.source.d.ts","sourceRoot":"","sources":["../../../../../src/browser/contrib/intelligent-completions/source/line-change.source.ts"],"names":[],"mappings":"AACA,OAAO,EAAqD,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAC3G,OAAO,EAA+B,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAQ9F,OAAO,EAAE,mBAAmB,EAAE,MAAM,QAAQ,CAAC;AAE7C,MAAM,WAAW,eAAe;IAC9B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,yBAAyB,CAAC;CACpC;AAED,qBACa,yBAA0B,SAAQ,mBAAmB;IACzD,QAAQ,SAAK;IAEb,KAAK,IAAI,WAAW;CA+E5B"}
|
|
@@ -9,11 +9,41 @@ const base_1 = require("./base");
|
|
|
9
9
|
let LineChangeCodeEditsSource = class LineChangeCodeEditsSource extends base_1.BaseCodeEditsSource {
|
|
10
10
|
constructor() {
|
|
11
11
|
super(...arguments);
|
|
12
|
-
this.priority =
|
|
12
|
+
this.priority = 2;
|
|
13
13
|
}
|
|
14
14
|
mount() {
|
|
15
|
+
const modelContentChangeObs = (0, observable_1.observableFromEvent)(this, this.monacoEditor.onDidChangeModelContent, (event) => event);
|
|
15
16
|
const positionChangeObs = (0, observable_1.observableFromEvent)(this, this.monacoEditor.onDidChangeCursorPosition, (event) => event);
|
|
17
|
+
const latestModelContentChangeObs = (0, observable_1.derivedHandleChanges)({
|
|
18
|
+
owner: this,
|
|
19
|
+
createEmptyChangeSummary: () => ({ change: undefined }),
|
|
20
|
+
handleChange: (ctx, changeSummary) => {
|
|
21
|
+
// 如果只是改了光标则设置 change 为空,避免获取到缓存的 change
|
|
22
|
+
if (ctx.didChange(positionChangeObs)) {
|
|
23
|
+
changeSummary.change = undefined;
|
|
24
|
+
}
|
|
25
|
+
else {
|
|
26
|
+
changeSummary.change = modelContentChangeObs.get();
|
|
27
|
+
}
|
|
28
|
+
return true;
|
|
29
|
+
},
|
|
30
|
+
}, (reader, changeSummary) => {
|
|
31
|
+
positionChangeObs.read(reader);
|
|
32
|
+
modelContentChangeObs.read(reader);
|
|
33
|
+
return changeSummary.change;
|
|
34
|
+
});
|
|
35
|
+
this.addDispose((0, observable_1.recomputeInitiallyAndOnChange)(latestModelContentChangeObs));
|
|
36
|
+
let lastModelContent;
|
|
37
|
+
this.addDispose(
|
|
38
|
+
/**
|
|
39
|
+
* 由于 monaco 的 changeModelContent 事件比 changeCursorPosition 事件先触发,所以这里需要拿上一次的值进行消费
|
|
40
|
+
* 否则永远返回 undefined
|
|
41
|
+
*/
|
|
42
|
+
(0, observable_1.autorunDelta)(latestModelContentChangeObs, ({ lastValue }) => {
|
|
43
|
+
lastModelContent = lastValue;
|
|
44
|
+
}));
|
|
16
45
|
this.addDispose((0, observable_1.autorunDelta)(positionChangeObs, ({ lastValue, newValue }) => {
|
|
46
|
+
const contentChange = lastModelContent;
|
|
17
47
|
const isLineChangeEnabled = this.preferenceService.getValid(ide_core_common_1.AINativeSettingSectionsId.CodeEditsLineChange, false);
|
|
18
48
|
if (!isLineChangeEnabled) {
|
|
19
49
|
return false;
|
|
@@ -23,14 +53,16 @@ let LineChangeCodeEditsSource = class LineChangeCodeEditsSource extends base_1.B
|
|
|
23
53
|
if (prePosition && prePosition.lineNumber !== (currentPosition === null || currentPosition === void 0 ? void 0 : currentPosition.lineNumber)) {
|
|
24
54
|
this.setBean({
|
|
25
55
|
typing: ide_core_common_1.ECodeEditsSourceTyping.LineChange,
|
|
56
|
+
position: currentPosition,
|
|
26
57
|
data: {
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
},
|
|
58
|
+
preLineNumber: prePosition.lineNumber,
|
|
59
|
+
currentLineNumber: currentPosition.lineNumber,
|
|
60
|
+
change: contentChange,
|
|
31
61
|
},
|
|
32
62
|
});
|
|
33
63
|
}
|
|
64
|
+
// 消费完之后设置为 undefined,避免下次获取到缓存的值
|
|
65
|
+
lastModelContent = undefined;
|
|
34
66
|
}));
|
|
35
67
|
return this;
|
|
36
68
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"line-change.source.js","sourceRoot":"","sources":["../../../../../src/browser/contrib/intelligent-completions/source/line-change.source.ts"],"names":[],"mappings":";;;;AAAA,qCAA0C;AAC1C,+DAA2G;AAE3G,
|
|
1
|
+
{"version":3,"file":"line-change.source.js","sourceRoot":"","sources":["../../../../../src/browser/contrib/intelligent-completions/source/line-change.source.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,6 +4,7 @@ import { URI } from '@opensumi/ide-monaco/lib/browser/monaco-api';
|
|
|
4
4
|
import { IRelatedInformation } from '@opensumi/monaco-editor-core/esm/vs/platform/markers/common/markers';
|
|
5
5
|
import { BaseCodeEditsSource } from './base';
|
|
6
6
|
export interface ILinterErrorData {
|
|
7
|
+
relativeWorkspacePath: string;
|
|
7
8
|
errors: Array<IMarkerErrorData>;
|
|
8
9
|
}
|
|
9
10
|
export interface IMarkerErrorData {
|
|
@@ -18,7 +19,8 @@ export interface IMarkerErrorData {
|
|
|
18
19
|
}
|
|
19
20
|
export declare class LintErrorCodeEditsSource extends BaseCodeEditsSource {
|
|
20
21
|
priority: number;
|
|
22
|
+
private readonly workspaceService;
|
|
21
23
|
mount(): IDisposable;
|
|
22
|
-
protected doTrigger(position: Position): void
|
|
24
|
+
protected doTrigger(position: Position): Promise<void>;
|
|
23
25
|
}
|
|
24
26
|
//# sourceMappingURL=lint-error.source.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lint-error.source.d.ts","sourceRoot":"","sources":["../../../../../src/browser/contrib/intelligent-completions/source/lint-error.source.ts"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"lint-error.source.d.ts","sourceRoot":"","sources":["../../../../../src/browser/contrib/intelligent-completions/source/lint-error.source.ts"],"names":[],"mappings":"AACA,OAAO,EAKL,WAAW,EACZ,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAA+B,SAAS,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACxF,OAAO,EAAE,GAAG,EAAE,MAAM,6CAA6C,CAAC;AAGlE,OAAO,EAGL,mBAAmB,EAEpB,MAAM,qEAAqE,CAAC;AAE7E,OAAO,EAAE,mBAAmB,EAAE,MAAM,QAAQ,CAAC;AAE7C,MAAM,WAAW,gBAAgB;IAC/B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,MAAM,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAAC;CACjC;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE;QACL,aAAa,EAAE,SAAS,CAAC;QACzB,WAAW,EAAE,SAAS,CAAC;KACxB,CAAC;IACF,MAAM,EAAE,GAAG,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,kBAAkB,CAAC,EAAE,mBAAmB,EAAE,CAAC;CAC5C;AAuBD,qBACa,wBAAyB,SAAQ,mBAAmB;IACxD,QAAQ,SAAK;IAGpB,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAoB;IAE9C,KAAK,IAAI,WAAW;cA2BX,SAAS,CAAC,QAAQ,EAAE,QAAQ;CA0B7C"}
|
|
@@ -4,7 +4,7 @@ exports.LintErrorCodeEditsSource = void 0;
|
|
|
4
4
|
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
|
-
const
|
|
7
|
+
const ide_workspace_1 = require("@opensumi/ide-workspace");
|
|
8
8
|
const standaloneServices_1 = require("@opensumi/monaco-editor-core/esm/vs/editor/standalone/browser/standaloneServices");
|
|
9
9
|
const markers_1 = require("@opensumi/monaco-editor-core/esm/vs/platform/markers/common/markers");
|
|
10
10
|
const base_1 = require("./base");
|
|
@@ -33,26 +33,28 @@ var MarkerErrorData;
|
|
|
33
33
|
let LintErrorCodeEditsSource = class LintErrorCodeEditsSource extends base_1.BaseCodeEditsSource {
|
|
34
34
|
constructor() {
|
|
35
35
|
super(...arguments);
|
|
36
|
-
this.priority =
|
|
36
|
+
this.priority = 1;
|
|
37
37
|
}
|
|
38
38
|
mount() {
|
|
39
|
-
|
|
40
|
-
this.addDispose(
|
|
41
|
-
|
|
42
|
-
|
|
39
|
+
let prePosition = this.monacoEditor.getPosition();
|
|
40
|
+
this.addDispose(
|
|
41
|
+
// 仅在光标的行号发生变化时,才触发
|
|
42
|
+
ide_core_common_1.Event.debounce(this.monacoEditor.onDidChangeCursorPosition, (_, e) => e, ide_core_common_1.FRAME_THREE)(async (event) => {
|
|
43
|
+
const currentPosition = event.position;
|
|
43
44
|
// 如果是 selection 则不触发
|
|
44
45
|
const selection = this.monacoEditor.getSelection();
|
|
45
46
|
if (!(selection === null || selection === void 0 ? void 0 : selection.isEmpty())) {
|
|
46
47
|
return;
|
|
47
48
|
}
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
this.doTrigger(currentPosition);
|
|
49
|
+
if (prePosition && prePosition.lineNumber !== currentPosition.lineNumber) {
|
|
50
|
+
await this.doTrigger(currentPosition);
|
|
51
51
|
}
|
|
52
|
+
prePosition = currentPosition;
|
|
52
53
|
}));
|
|
53
54
|
return this;
|
|
54
55
|
}
|
|
55
|
-
doTrigger(position) {
|
|
56
|
+
async doTrigger(position) {
|
|
57
|
+
var _a;
|
|
56
58
|
const isLintErrorsEnabled = this.preferenceService.getValid(ide_core_common_1.AINativeSettingSectionsId.CodeEditsLintErrors, false);
|
|
57
59
|
if (!isLintErrorsEnabled || !this.model) {
|
|
58
60
|
return;
|
|
@@ -62,18 +64,23 @@ let LintErrorCodeEditsSource = class LintErrorCodeEditsSource extends base_1.Bas
|
|
|
62
64
|
let markers = markerService.read({ resource, severities: markers_1.MarkerSeverity.Error });
|
|
63
65
|
markers = markers.filter((marker) => Math.abs(marker.startLineNumber - position.lineNumber) <= 1);
|
|
64
66
|
if (markers.length) {
|
|
67
|
+
const relativeWorkspacePath = await this.workspaceService.asRelativePath(resource.path);
|
|
65
68
|
this.setBean({
|
|
66
69
|
typing: ide_core_common_1.ECodeEditsSourceTyping.LinterErrors,
|
|
70
|
+
position,
|
|
67
71
|
data: {
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
},
|
|
72
|
+
relativeWorkspacePath: (_a = relativeWorkspacePath === null || relativeWorkspacePath === void 0 ? void 0 : relativeWorkspacePath.path) !== null && _a !== void 0 ? _a : resource.path,
|
|
73
|
+
errors: markers.map((marker) => MarkerErrorData.toData(marker)),
|
|
71
74
|
},
|
|
72
75
|
});
|
|
73
76
|
}
|
|
74
77
|
}
|
|
75
78
|
};
|
|
76
79
|
exports.LintErrorCodeEditsSource = LintErrorCodeEditsSource;
|
|
80
|
+
tslib_1.__decorate([
|
|
81
|
+
(0, di_1.Autowired)(ide_workspace_1.IWorkspaceService),
|
|
82
|
+
tslib_1.__metadata("design:type", Object)
|
|
83
|
+
], LintErrorCodeEditsSource.prototype, "workspaceService", void 0);
|
|
77
84
|
exports.LintErrorCodeEditsSource = LintErrorCodeEditsSource = tslib_1.__decorate([
|
|
78
85
|
(0, di_1.Injectable)({ multiple: true })
|
|
79
86
|
], LintErrorCodeEditsSource);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lint-error.source.js","sourceRoot":"","sources":["../../../../../src/browser/contrib/intelligent-completions/source/lint-error.source.ts"],"names":[],"mappings":";;;;AAAA,
|
|
1
|
+
{"version":3,"file":"lint-error.source.js","sourceRoot":"","sources":["../../../../../src/browser/contrib/intelligent-completions/source/lint-error.source.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { IDisposable } from '@opensumi/ide-core-common';
|
|
2
|
-
import { IModelContentChangedEvent } from '@opensumi/ide-monaco';
|
|
2
|
+
import { IModelContentChangedEvent, Position } from '@opensumi/ide-monaco';
|
|
3
3
|
import { BaseCodeEditsSource } from './base';
|
|
4
4
|
export declare class TypingCodeEditsSource extends BaseCodeEditsSource {
|
|
5
5
|
priority: number;
|
|
6
6
|
mount(): IDisposable;
|
|
7
|
-
protected doTrigger(data: IModelContentChangedEvent): Promise<void>;
|
|
7
|
+
protected doTrigger(position: Position, data: IModelContentChangedEvent): Promise<void>;
|
|
8
8
|
}
|
|
9
9
|
//# sourceMappingURL=typing.source.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typing.source.d.ts","sourceRoot":"","sources":["../../../../../src/browser/contrib/intelligent-completions/source/typing.source.ts"],"names":[],"mappings":"AACA,OAAO,EAAqD,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAC3G,OAAO,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"typing.source.d.ts","sourceRoot":"","sources":["../../../../../src/browser/contrib/intelligent-completions/source/typing.source.ts"],"names":[],"mappings":"AACA,OAAO,EAAqD,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAC3G,OAAO,EAAE,yBAAyB,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAE3E,OAAO,EAAE,mBAAmB,EAAE,MAAM,QAAQ,CAAC;AAE7C,qBACa,qBAAsB,SAAQ,mBAAmB;IACrD,QAAQ,SAAK;IAEb,KAAK,IAAI,WAAW;cAYX,SAAS,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,yBAAyB;CAa9E"}
|
|
@@ -8,24 +8,26 @@ const base_1 = require("./base");
|
|
|
8
8
|
let TypingCodeEditsSource = class TypingCodeEditsSource extends base_1.BaseCodeEditsSource {
|
|
9
9
|
constructor() {
|
|
10
10
|
super(...arguments);
|
|
11
|
-
this.priority =
|
|
11
|
+
this.priority = 0;
|
|
12
12
|
}
|
|
13
13
|
mount() {
|
|
14
14
|
this.addDispose(this.monacoEditor.onDidChangeModelContent((event) => {
|
|
15
|
-
this.
|
|
15
|
+
const position = this.monacoEditor.getPosition();
|
|
16
|
+
if (position) {
|
|
17
|
+
this.doTrigger(position, event);
|
|
18
|
+
}
|
|
16
19
|
}));
|
|
17
20
|
return this;
|
|
18
21
|
}
|
|
19
|
-
async doTrigger(data) {
|
|
22
|
+
async doTrigger(position, data) {
|
|
20
23
|
const isTypingEnabled = this.preferenceService.getValid(ide_core_common_1.AINativeSettingSectionsId.CodeEditsTyping, false);
|
|
21
24
|
if (!isTypingEnabled || !this.model) {
|
|
22
25
|
return;
|
|
23
26
|
}
|
|
24
27
|
this.setBean({
|
|
25
28
|
typing: ide_core_common_1.ECodeEditsSourceTyping.Typing,
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
},
|
|
29
|
+
position,
|
|
30
|
+
data,
|
|
29
31
|
});
|
|
30
32
|
}
|
|
31
33
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typing.source.js","sourceRoot":"","sources":["../../../../../src/browser/contrib/intelligent-completions/source/typing.source.ts"],"names":[],"mappings":";;;;AAAA,qCAA0C;AAC1C,+DAA2G;AAG3G,iCAA6C;AAGtC,IAAM,qBAAqB,GAA3B,MAAM,qBAAsB,SAAQ,0BAAmB;IAAvD;;QACE,aAAQ,GAAG,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"typing.source.js","sourceRoot":"","sources":["../../../../../src/browser/contrib/intelligent-completions/source/typing.source.ts"],"names":[],"mappings":";;;;AAAA,qCAA0C;AAC1C,+DAA2G;AAG3G,iCAA6C;AAGtC,IAAM,qBAAqB,GAA3B,MAAM,qBAAsB,SAAQ,0BAAmB;IAAvD;;QACE,aAAQ,GAAG,CAAC,CAAC;IA2BtB,CAAC;IAzBQ,KAAK;QACV,IAAI,CAAC,UAAU,CACb,IAAI,CAAC,YAAY,CAAC,uBAAuB,CAAC,CAAC,KAAgC,EAAE,EAAE;YAC7E,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC;YACjD,IAAI,QAAQ,EAAE,CAAC;gBACb,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;YAClC,CAAC;QACH,CAAC,CAAC,CACH,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IAES,KAAK,CAAC,SAAS,CAAC,QAAkB,EAAE,IAA+B;QAC3E,MAAM,eAAe,GAAG,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,2CAAyB,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;QAE1G,IAAI,CAAC,eAAe,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YACpC,OAAO;QACT,CAAC;QAED,IAAI,CAAC,OAAO,CAAC;YACX,MAAM,EAAE,wCAAsB,CAAC,MAAM;YACrC,QAAQ;YACR,IAAI;SACL,CAAC,CAAC;IACL,CAAC;CACF,CAAA;AA5BY,sDAAqB;gCAArB,qBAAqB;IADjC,IAAA,eAAU,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;GAClB,qBAAqB,CA4BjC"}
|
|
@@ -119,20 +119,20 @@
|
|
|
119
119
|
border: none;
|
|
120
120
|
}
|
|
121
121
|
|
|
122
|
+
.header {
|
|
123
|
+
height: 36px;
|
|
124
|
+
display: flex;
|
|
125
|
+
align-items: center;
|
|
126
|
+
justify-content: space-between;
|
|
127
|
+
padding: 0 10px;
|
|
128
|
+
background-color: var(--editorGroupHeader-tabsBackground);
|
|
129
|
+
}
|
|
130
|
+
|
|
122
131
|
.right_slot_container_wrap {
|
|
123
132
|
height: 100%;
|
|
124
133
|
display: flex;
|
|
125
134
|
flex-direction: column;
|
|
126
135
|
|
|
127
|
-
.header {
|
|
128
|
-
height: 36px;
|
|
129
|
-
display: flex;
|
|
130
|
-
align-items: center;
|
|
131
|
-
justify-content: space-between;
|
|
132
|
-
padding: 0 10px;
|
|
133
|
-
background-color: var(--editorGroupHeader-tabsBackground);
|
|
134
|
-
}
|
|
135
|
-
|
|
136
136
|
.container {
|
|
137
137
|
flex: 1;
|
|
138
138
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tabbar.view.d.ts","sourceRoot":"","sources":["../../../src/browser/layout/tabbar.view.tsx"],"names":[],"mappings":"AACA,OAAO,KAA0C,MAAM,OAAO,CAAC;AAE/D,OAAO,EACL,qBAAqB,EAKtB,MAAM,4BAA4B,CAAC;AA0CpC,eAAO,MAAM,iBAAiB,+BAG3B;IACD,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,qBAAqB,EAAE,CAAC;CACrC,sBAiBA,CAAC;AAEF,eAAO,MAAM,wBAAwB,+BAGlC;IACD,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,qBAAqB,EAAE,CAAC;CACrC,sBAiBA,CAAC;AAEF,eAAO,MAAM,iBAAiB,+BAG3B;IACD,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,qBAAqB,EAAE,CAAC;CACrC,sBAA8G,CAAC;AAiDhH,eAAO,MAAM,kBAAkB,+BAG5B;IACD,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,qBAAqB,EAAE,CAAC;CACrC,
|
|
1
|
+
{"version":3,"file":"tabbar.view.d.ts","sourceRoot":"","sources":["../../../src/browser/layout/tabbar.view.tsx"],"names":[],"mappings":"AACA,OAAO,KAA0C,MAAM,OAAO,CAAC;AAE/D,OAAO,EACL,qBAAqB,EAKtB,MAAM,4BAA4B,CAAC;AA0CpC,eAAO,MAAM,iBAAiB,+BAG3B;IACD,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,qBAAqB,EAAE,CAAC;CACrC,sBAiBA,CAAC;AAEF,eAAO,MAAM,wBAAwB,+BAGlC;IACD,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,qBAAqB,EAAE,CAAC;CACrC,sBAiBA,CAAC;AAEF,eAAO,MAAM,iBAAiB,+BAG3B;IACD,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,qBAAqB,EAAE,CAAC;CACrC,sBAA8G,CAAC;AAiDhH,eAAO,MAAM,kBAAkB,+BAG5B;IACD,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,qBAAqB,EAAE,CAAC;CACrC,sBA8CA,CAAC"}
|
|
@@ -60,12 +60,11 @@ const AIRightTabRenderer = ({ className, components, }) => {
|
|
|
60
60
|
const ContainerViewFn = (0, react_1.useCallback)((props) => {
|
|
61
61
|
const { component } = props;
|
|
62
62
|
const { options } = component;
|
|
63
|
-
return (react_1.default.createElement(panel_view_1.ContainerView, { ...props,
|
|
64
|
-
react_1.default.createElement("
|
|
65
|
-
|
|
66
|
-
react_1.default.createElement(
|
|
67
|
-
react_1.default.createElement(ai_native_1.
|
|
68
|
-
react_1.default.createElement(ai_native_1.EnhanceIcon, { icon: 'close', onClick: handleClose })))),
|
|
63
|
+
return (react_1.default.createElement(panel_view_1.ContainerView, { ...props, customTitleBar: react_1.default.createElement("div", { className: layout_module_less_1.default.header },
|
|
64
|
+
react_1.default.createElement("span", { className: layout_module_less_1.default.title }, options && options.title),
|
|
65
|
+
react_1.default.createElement("div", { className: layout_module_less_1.default.side },
|
|
66
|
+
react_1.default.createElement(ai_native_1.EnhancePopover, { id: 'ai_right_panel_header_close', title: (0, ide_core_common_1.localize)('editor.title.context.close') },
|
|
67
|
+
react_1.default.createElement(ai_native_1.EnhanceIcon, { icon: 'close', onClick: handleClose })))), renderContainerWrap: ({ children }) => (react_1.default.createElement("div", { className: layout_module_less_1.default.right_slot_container_wrap },
|
|
69
68
|
react_1.default.createElement("div", { className: layout_module_less_1.default.container }, children))) }));
|
|
70
69
|
}, []);
|
|
71
70
|
const rightTabRenderClassName = (0, react_1.useMemo)(() => (designLayoutConfig.useMergeRightWithLeftPanel ? layout_module_less_1.default.right_tab_renderer : ''), [designLayoutConfig]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tabbar.view.js","sourceRoot":"","sources":["../../../src/browser/layout/tabbar.view.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"tabbar.view.js","sourceRoot":"","sources":["../../../src/browser/layout/tabbar.view.tsx"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@opensumi/ide-ai-native",
|
|
3
|
-
"version": "3.7.1-next-
|
|
3
|
+
"version": "3.7.1-next-1739761524.0",
|
|
4
4
|
"files": [
|
|
5
5
|
"lib",
|
|
6
6
|
"src"
|
|
@@ -19,24 +19,24 @@
|
|
|
19
19
|
"url": "git@github.com:opensumi/core.git"
|
|
20
20
|
},
|
|
21
21
|
"dependencies": {
|
|
22
|
-
"@opensumi/ide-components": "3.7.1-next-
|
|
23
|
-
"@opensumi/ide-core-common": "3.7.1-next-
|
|
24
|
-
"@opensumi/ide-core-node": "3.7.1-next-
|
|
25
|
-
"@opensumi/ide-debug": "3.7.1-next-
|
|
26
|
-
"@opensumi/ide-design": "3.7.1-next-
|
|
27
|
-
"@opensumi/ide-editor": "3.7.1-next-
|
|
28
|
-
"@opensumi/ide-file-service": "3.7.1-next-
|
|
29
|
-
"@opensumi/ide-file-tree-next": "3.7.1-next-
|
|
30
|
-
"@opensumi/ide-main-layout": "3.7.1-next-
|
|
31
|
-
"@opensumi/ide-markers": "3.7.1-next-
|
|
32
|
-
"@opensumi/ide-menu-bar": "3.7.1-next-
|
|
33
|
-
"@opensumi/ide-monaco": "3.7.1-next-
|
|
34
|
-
"@opensumi/ide-overlay": "3.7.1-next-
|
|
35
|
-
"@opensumi/ide-preferences": "3.7.1-next-
|
|
36
|
-
"@opensumi/ide-terminal-next": "3.7.1-next-
|
|
37
|
-
"@opensumi/ide-theme": "3.7.1-next-
|
|
38
|
-
"@opensumi/ide-utils": "3.7.1-next-
|
|
39
|
-
"@opensumi/ide-workspace": "3.7.1-next-
|
|
22
|
+
"@opensumi/ide-components": "3.7.1-next-1739761524.0",
|
|
23
|
+
"@opensumi/ide-core-common": "3.7.1-next-1739761524.0",
|
|
24
|
+
"@opensumi/ide-core-node": "3.7.1-next-1739761524.0",
|
|
25
|
+
"@opensumi/ide-debug": "3.7.1-next-1739761524.0",
|
|
26
|
+
"@opensumi/ide-design": "3.7.1-next-1739761524.0",
|
|
27
|
+
"@opensumi/ide-editor": "3.7.1-next-1739761524.0",
|
|
28
|
+
"@opensumi/ide-file-service": "3.7.1-next-1739761524.0",
|
|
29
|
+
"@opensumi/ide-file-tree-next": "3.7.1-next-1739761524.0",
|
|
30
|
+
"@opensumi/ide-main-layout": "3.7.1-next-1739761524.0",
|
|
31
|
+
"@opensumi/ide-markers": "3.7.1-next-1739761524.0",
|
|
32
|
+
"@opensumi/ide-menu-bar": "3.7.1-next-1739761524.0",
|
|
33
|
+
"@opensumi/ide-monaco": "3.7.1-next-1739761524.0",
|
|
34
|
+
"@opensumi/ide-overlay": "3.7.1-next-1739761524.0",
|
|
35
|
+
"@opensumi/ide-preferences": "3.7.1-next-1739761524.0",
|
|
36
|
+
"@opensumi/ide-terminal-next": "3.7.1-next-1739761524.0",
|
|
37
|
+
"@opensumi/ide-theme": "3.7.1-next-1739761524.0",
|
|
38
|
+
"@opensumi/ide-utils": "3.7.1-next-1739761524.0",
|
|
39
|
+
"@opensumi/ide-workspace": "3.7.1-next-1739761524.0",
|
|
40
40
|
"@xterm/xterm": "5.5.0",
|
|
41
41
|
"ansi-regex": "^2.0.0",
|
|
42
42
|
"dom-align": "^1.7.0",
|
|
@@ -46,7 +46,7 @@
|
|
|
46
46
|
"web-tree-sitter": "0.22.6"
|
|
47
47
|
},
|
|
48
48
|
"devDependencies": {
|
|
49
|
-
"@opensumi/ide-core-browser": "3.7.1-next-
|
|
49
|
+
"@opensumi/ide-core-browser": "3.7.1-next-1739761524.0"
|
|
50
50
|
},
|
|
51
|
-
"gitHead": "
|
|
51
|
+
"gitHead": "d2494ff57e60c4da393378932d8d0f53fa3f875f"
|
|
52
52
|
}
|
|
@@ -12,15 +12,10 @@ export interface IIntelligentCompletionsResult<T = any> {
|
|
|
12
12
|
extra?: T;
|
|
13
13
|
}
|
|
14
14
|
|
|
15
|
-
export
|
|
16
|
-
typing: ECodeEditsSourceTyping;
|
|
17
|
-
position: IPosition;
|
|
18
|
-
data:
|
|
19
|
-
[ECodeEditsSourceTyping.LinterErrors]?: ILinterErrorData;
|
|
20
|
-
[ECodeEditsSourceTyping.LineChange]?: ILineChangeData;
|
|
21
|
-
[ECodeEditsSourceTyping.Typing]?: IModelContentChangedEvent;
|
|
22
|
-
};
|
|
23
|
-
}
|
|
15
|
+
export type ICodeEditsContextBean =
|
|
16
|
+
| { typing: ECodeEditsSourceTyping.LinterErrors; position: IPosition; data: ILinterErrorData }
|
|
17
|
+
| { typing: ECodeEditsSourceTyping.LineChange; position: IPosition; data: ILineChangeData }
|
|
18
|
+
| { typing: ECodeEditsSourceTyping.Typing; position: IPosition; data: IModelContentChangedEvent };
|
|
24
19
|
|
|
25
20
|
export interface ICodeEdit {
|
|
26
21
|
/**
|
|
@@ -7,6 +7,7 @@ import {
|
|
|
7
7
|
Disposable,
|
|
8
8
|
IAIReporter,
|
|
9
9
|
IDisposable,
|
|
10
|
+
MaybePromise,
|
|
10
11
|
uuid,
|
|
11
12
|
} from '@opensumi/ide-core-common';
|
|
12
13
|
import { CancellationTokenSource, ICodeEditor } from '@opensumi/ide-monaco';
|
|
@@ -36,26 +37,14 @@ export class CodeEditsContextBean extends Disposable {
|
|
|
36
37
|
return this.raw;
|
|
37
38
|
}
|
|
38
39
|
|
|
39
|
-
public get typing() {
|
|
40
|
-
return this.raw.typing;
|
|
41
|
-
}
|
|
42
|
-
|
|
43
40
|
public get position() {
|
|
44
41
|
return this.raw.position;
|
|
45
42
|
}
|
|
46
43
|
|
|
47
|
-
public get data() {
|
|
48
|
-
return this.raw.data;
|
|
49
|
-
}
|
|
50
|
-
|
|
51
44
|
public get token() {
|
|
52
45
|
return this.source.token;
|
|
53
46
|
}
|
|
54
47
|
|
|
55
|
-
public joinData(data: ICodeEditsContextBean['data']) {
|
|
56
|
-
this.raw.data = { ...this.data, ...data };
|
|
57
|
-
}
|
|
58
|
-
|
|
59
48
|
public reporterStart() {
|
|
60
49
|
return this.source.reporterStart();
|
|
61
50
|
}
|
|
@@ -109,9 +98,9 @@ export abstract class BaseCodeEditsSource extends Disposable {
|
|
|
109
98
|
});
|
|
110
99
|
}
|
|
111
100
|
|
|
112
|
-
protected setBean(bean:
|
|
101
|
+
protected setBean(bean: ICodeEditsContextBean) {
|
|
113
102
|
transaction((tx) => {
|
|
114
|
-
const context = new CodeEditsContextBean(
|
|
103
|
+
const context = new CodeEditsContextBean(bean, this);
|
|
115
104
|
this.codeEditsContextBean.set(context, tx);
|
|
116
105
|
});
|
|
117
106
|
}
|
|
@@ -121,7 +110,7 @@ export abstract class BaseCodeEditsSource extends Disposable {
|
|
|
121
110
|
if (context) {
|
|
122
111
|
const relationID = this.aiReporter.start(AIServiceType.CodeEdits, {
|
|
123
112
|
type: AIServiceType.CodeEdits,
|
|
124
|
-
actionSource: context?.typing,
|
|
113
|
+
actionSource: context?.bean.typing,
|
|
125
114
|
});
|
|
126
115
|
|
|
127
116
|
transaction((tx) => {
|
|
@@ -177,23 +166,11 @@ export class CodeEditsSourceCollection extends Disposable {
|
|
|
177
166
|
|
|
178
167
|
for (const source of lastSources) {
|
|
179
168
|
const value = source.codeEditsContextBean.get();
|
|
180
|
-
if (!value) {
|
|
181
|
-
return;
|
|
182
|
-
}
|
|
183
|
-
|
|
184
|
-
if (!contextBean) {
|
|
185
|
-
contextBean = value;
|
|
186
|
-
}
|
|
187
169
|
|
|
188
|
-
if (value.priority >= highestPriority) {
|
|
170
|
+
if (value && value.priority >= highestPriority) {
|
|
189
171
|
highestPriority = value.priority;
|
|
190
|
-
|
|
191
|
-
value.joinData(contextBean.data);
|
|
192
172
|
contextBean = value;
|
|
193
173
|
}
|
|
194
|
-
|
|
195
|
-
// 将多个 source 的 data 合并到一起
|
|
196
|
-
contextBean.joinData(value.data);
|
|
197
174
|
}
|
|
198
175
|
|
|
199
176
|
transaction((tx) => {
|
|
@@ -1,28 +1,75 @@
|
|
|
1
1
|
import { Injectable } from '@opensumi/di';
|
|
2
2
|
import { AINativeSettingSectionsId, ECodeEditsSourceTyping, IDisposable } from '@opensumi/ide-core-common';
|
|
3
|
-
import { ICursorPositionChangedEvent } from '@opensumi/ide-monaco';
|
|
4
|
-
import {
|
|
3
|
+
import { ICursorPositionChangedEvent, IModelContentChangedEvent } from '@opensumi/ide-monaco';
|
|
4
|
+
import {
|
|
5
|
+
autorunDelta,
|
|
6
|
+
derivedHandleChanges,
|
|
7
|
+
observableFromEvent,
|
|
8
|
+
recomputeInitiallyAndOnChange,
|
|
9
|
+
} from '@opensumi/ide-monaco/lib/common/observable';
|
|
5
10
|
|
|
6
11
|
import { BaseCodeEditsSource } from './base';
|
|
7
12
|
|
|
8
13
|
export interface ILineChangeData {
|
|
9
14
|
currentLineNumber: number;
|
|
10
15
|
preLineNumber?: number;
|
|
16
|
+
change?: IModelContentChangedEvent;
|
|
11
17
|
}
|
|
12
18
|
|
|
13
19
|
@Injectable({ multiple: true })
|
|
14
20
|
export class LineChangeCodeEditsSource extends BaseCodeEditsSource {
|
|
15
|
-
public priority =
|
|
21
|
+
public priority = 2;
|
|
16
22
|
|
|
17
23
|
public mount(): IDisposable {
|
|
24
|
+
const modelContentChangeObs = observableFromEvent<IModelContentChangedEvent>(
|
|
25
|
+
this,
|
|
26
|
+
this.monacoEditor.onDidChangeModelContent,
|
|
27
|
+
(event: IModelContentChangedEvent) => event,
|
|
28
|
+
);
|
|
18
29
|
const positionChangeObs = observableFromEvent<ICursorPositionChangedEvent>(
|
|
19
30
|
this,
|
|
20
31
|
this.monacoEditor.onDidChangeCursorPosition,
|
|
21
32
|
(event: ICursorPositionChangedEvent) => event,
|
|
22
33
|
);
|
|
23
34
|
|
|
35
|
+
const latestModelContentChangeObs = derivedHandleChanges(
|
|
36
|
+
{
|
|
37
|
+
owner: this,
|
|
38
|
+
createEmptyChangeSummary: () => ({ change: undefined }),
|
|
39
|
+
handleChange: (ctx, changeSummary: { change: IModelContentChangedEvent | undefined }) => {
|
|
40
|
+
// 如果只是改了光标则设置 change 为空,避免获取到缓存的 change
|
|
41
|
+
if (ctx.didChange(positionChangeObs)) {
|
|
42
|
+
changeSummary.change = undefined;
|
|
43
|
+
} else {
|
|
44
|
+
changeSummary.change = modelContentChangeObs.get();
|
|
45
|
+
}
|
|
46
|
+
return true;
|
|
47
|
+
},
|
|
48
|
+
},
|
|
49
|
+
(reader, changeSummary) => {
|
|
50
|
+
positionChangeObs.read(reader);
|
|
51
|
+
modelContentChangeObs.read(reader);
|
|
52
|
+
return changeSummary.change;
|
|
53
|
+
},
|
|
54
|
+
);
|
|
55
|
+
|
|
56
|
+
this.addDispose(recomputeInitiallyAndOnChange(latestModelContentChangeObs));
|
|
57
|
+
|
|
58
|
+
let lastModelContent: IModelContentChangedEvent | undefined;
|
|
59
|
+
this.addDispose(
|
|
60
|
+
/**
|
|
61
|
+
* 由于 monaco 的 changeModelContent 事件比 changeCursorPosition 事件先触发,所以这里需要拿上一次的值进行消费
|
|
62
|
+
* 否则永远返回 undefined
|
|
63
|
+
*/
|
|
64
|
+
autorunDelta(latestModelContentChangeObs, ({ lastValue }) => {
|
|
65
|
+
lastModelContent = lastValue;
|
|
66
|
+
}),
|
|
67
|
+
);
|
|
68
|
+
|
|
24
69
|
this.addDispose(
|
|
25
70
|
autorunDelta(positionChangeObs, ({ lastValue, newValue }) => {
|
|
71
|
+
const contentChange = lastModelContent;
|
|
72
|
+
|
|
26
73
|
const isLineChangeEnabled = this.preferenceService.getValid(
|
|
27
74
|
AINativeSettingSectionsId.CodeEditsLineChange,
|
|
28
75
|
false,
|
|
@@ -36,14 +83,17 @@ export class LineChangeCodeEditsSource extends BaseCodeEditsSource {
|
|
|
36
83
|
if (prePosition && prePosition.lineNumber !== currentPosition?.lineNumber) {
|
|
37
84
|
this.setBean({
|
|
38
85
|
typing: ECodeEditsSourceTyping.LineChange,
|
|
86
|
+
position: currentPosition,
|
|
39
87
|
data: {
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
},
|
|
88
|
+
preLineNumber: prePosition.lineNumber,
|
|
89
|
+
currentLineNumber: currentPosition.lineNumber,
|
|
90
|
+
change: contentChange,
|
|
44
91
|
},
|
|
45
92
|
});
|
|
46
93
|
}
|
|
94
|
+
|
|
95
|
+
// 消费完之后设置为 undefined,避免下次获取到缓存的值
|
|
96
|
+
lastModelContent = undefined;
|
|
47
97
|
}),
|
|
48
98
|
);
|
|
49
99
|
|
|
@@ -1,8 +1,14 @@
|
|
|
1
|
-
import { Injectable } from '@opensumi/di';
|
|
2
|
-
import {
|
|
1
|
+
import { Autowired, Injectable } from '@opensumi/di';
|
|
2
|
+
import {
|
|
3
|
+
AINativeSettingSectionsId,
|
|
4
|
+
ECodeEditsSourceTyping,
|
|
5
|
+
Event,
|
|
6
|
+
FRAME_THREE,
|
|
7
|
+
IDisposable,
|
|
8
|
+
} from '@opensumi/ide-core-common';
|
|
3
9
|
import { ICursorPositionChangedEvent, IPosition, Position } from '@opensumi/ide-monaco';
|
|
4
10
|
import { URI } from '@opensumi/ide-monaco/lib/browser/monaco-api';
|
|
5
|
-
import {
|
|
11
|
+
import { IWorkspaceService } from '@opensumi/ide-workspace';
|
|
6
12
|
import { StandaloneServices } from '@opensumi/monaco-editor-core/esm/vs/editor/standalone/browser/standaloneServices';
|
|
7
13
|
import {
|
|
8
14
|
IMarker,
|
|
@@ -14,6 +20,7 @@ import {
|
|
|
14
20
|
import { BaseCodeEditsSource } from './base';
|
|
15
21
|
|
|
16
22
|
export interface ILinterErrorData {
|
|
23
|
+
relativeWorkspacePath: string;
|
|
17
24
|
errors: Array<IMarkerErrorData>;
|
|
18
25
|
}
|
|
19
26
|
|
|
@@ -51,19 +58,22 @@ namespace MarkerErrorData {
|
|
|
51
58
|
|
|
52
59
|
@Injectable({ multiple: true })
|
|
53
60
|
export class LintErrorCodeEditsSource extends BaseCodeEditsSource {
|
|
54
|
-
public priority =
|
|
61
|
+
public priority = 1;
|
|
62
|
+
|
|
63
|
+
@Autowired(IWorkspaceService)
|
|
64
|
+
private readonly workspaceService: IWorkspaceService;
|
|
55
65
|
|
|
56
66
|
public mount(): IDisposable {
|
|
57
|
-
|
|
58
|
-
this,
|
|
59
|
-
this.monacoEditor.onDidChangeCursorPosition,
|
|
60
|
-
(event: ICursorPositionChangedEvent) => event,
|
|
61
|
-
);
|
|
67
|
+
let prePosition = this.monacoEditor.getPosition();
|
|
62
68
|
|
|
63
69
|
this.addDispose(
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
70
|
+
// 仅在光标的行号发生变化时,才触发
|
|
71
|
+
Event.debounce(
|
|
72
|
+
this.monacoEditor.onDidChangeCursorPosition,
|
|
73
|
+
(_, e) => e,
|
|
74
|
+
FRAME_THREE,
|
|
75
|
+
)(async (event: ICursorPositionChangedEvent) => {
|
|
76
|
+
const currentPosition = event.position;
|
|
67
77
|
|
|
68
78
|
// 如果是 selection 则不触发
|
|
69
79
|
const selection = this.monacoEditor.getSelection();
|
|
@@ -71,16 +81,16 @@ export class LintErrorCodeEditsSource extends BaseCodeEditsSource {
|
|
|
71
81
|
return;
|
|
72
82
|
}
|
|
73
83
|
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
this.doTrigger(currentPosition);
|
|
84
|
+
if (prePosition && prePosition.lineNumber !== currentPosition.lineNumber) {
|
|
85
|
+
await this.doTrigger(currentPosition);
|
|
77
86
|
}
|
|
87
|
+
prePosition = currentPosition;
|
|
78
88
|
}),
|
|
79
89
|
);
|
|
80
90
|
return this;
|
|
81
91
|
}
|
|
82
92
|
|
|
83
|
-
protected doTrigger(position: Position) {
|
|
93
|
+
protected async doTrigger(position: Position) {
|
|
84
94
|
const isLintErrorsEnabled = this.preferenceService.getValid(AINativeSettingSectionsId.CodeEditsLintErrors, false);
|
|
85
95
|
|
|
86
96
|
if (!isLintErrorsEnabled || !this.model) {
|
|
@@ -94,12 +104,14 @@ export class LintErrorCodeEditsSource extends BaseCodeEditsSource {
|
|
|
94
104
|
markers = markers.filter((marker) => Math.abs(marker.startLineNumber - position.lineNumber) <= 1);
|
|
95
105
|
|
|
96
106
|
if (markers.length) {
|
|
107
|
+
const relativeWorkspacePath = await this.workspaceService.asRelativePath(resource.path);
|
|
108
|
+
|
|
97
109
|
this.setBean({
|
|
98
110
|
typing: ECodeEditsSourceTyping.LinterErrors,
|
|
111
|
+
position,
|
|
99
112
|
data: {
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
},
|
|
113
|
+
relativeWorkspacePath: relativeWorkspacePath?.path ?? resource.path,
|
|
114
|
+
errors: markers.map((marker) => MarkerErrorData.toData(marker)),
|
|
103
115
|
},
|
|
104
116
|
});
|
|
105
117
|
}
|
|
@@ -1,23 +1,26 @@
|
|
|
1
1
|
import { Injectable } from '@opensumi/di';
|
|
2
2
|
import { AINativeSettingSectionsId, ECodeEditsSourceTyping, IDisposable } from '@opensumi/ide-core-common';
|
|
3
|
-
import { IModelContentChangedEvent } from '@opensumi/ide-monaco';
|
|
3
|
+
import { IModelContentChangedEvent, Position } from '@opensumi/ide-monaco';
|
|
4
4
|
|
|
5
5
|
import { BaseCodeEditsSource } from './base';
|
|
6
6
|
|
|
7
7
|
@Injectable({ multiple: true })
|
|
8
8
|
export class TypingCodeEditsSource extends BaseCodeEditsSource {
|
|
9
|
-
public priority =
|
|
9
|
+
public priority = 0;
|
|
10
10
|
|
|
11
11
|
public mount(): IDisposable {
|
|
12
12
|
this.addDispose(
|
|
13
13
|
this.monacoEditor.onDidChangeModelContent((event: IModelContentChangedEvent) => {
|
|
14
|
-
this.
|
|
14
|
+
const position = this.monacoEditor.getPosition();
|
|
15
|
+
if (position) {
|
|
16
|
+
this.doTrigger(position, event);
|
|
17
|
+
}
|
|
15
18
|
}),
|
|
16
19
|
);
|
|
17
20
|
return this;
|
|
18
21
|
}
|
|
19
22
|
|
|
20
|
-
protected async doTrigger(data: IModelContentChangedEvent) {
|
|
23
|
+
protected async doTrigger(position: Position, data: IModelContentChangedEvent) {
|
|
21
24
|
const isTypingEnabled = this.preferenceService.getValid(AINativeSettingSectionsId.CodeEditsTyping, false);
|
|
22
25
|
|
|
23
26
|
if (!isTypingEnabled || !this.model) {
|
|
@@ -26,9 +29,8 @@ export class TypingCodeEditsSource extends BaseCodeEditsSource {
|
|
|
26
29
|
|
|
27
30
|
this.setBean({
|
|
28
31
|
typing: ECodeEditsSourceTyping.Typing,
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
},
|
|
32
|
+
position,
|
|
33
|
+
data,
|
|
32
34
|
});
|
|
33
35
|
}
|
|
34
36
|
}
|
|
@@ -119,20 +119,20 @@
|
|
|
119
119
|
border: none;
|
|
120
120
|
}
|
|
121
121
|
|
|
122
|
+
.header {
|
|
123
|
+
height: 36px;
|
|
124
|
+
display: flex;
|
|
125
|
+
align-items: center;
|
|
126
|
+
justify-content: space-between;
|
|
127
|
+
padding: 0 10px;
|
|
128
|
+
background-color: var(--editorGroupHeader-tabsBackground);
|
|
129
|
+
}
|
|
130
|
+
|
|
122
131
|
.right_slot_container_wrap {
|
|
123
132
|
height: 100%;
|
|
124
133
|
display: flex;
|
|
125
134
|
flex-direction: column;
|
|
126
135
|
|
|
127
|
-
.header {
|
|
128
|
-
height: 36px;
|
|
129
|
-
display: flex;
|
|
130
|
-
align-items: center;
|
|
131
|
-
justify-content: space-between;
|
|
132
|
-
padding: 0 10px;
|
|
133
|
-
background-color: var(--editorGroupHeader-tabsBackground);
|
|
134
|
-
}
|
|
135
|
-
|
|
136
136
|
.container {
|
|
137
137
|
flex: 1;
|
|
138
138
|
}
|
|
@@ -174,16 +174,18 @@ export const AIRightTabRenderer = ({
|
|
|
174
174
|
return (
|
|
175
175
|
<ContainerView
|
|
176
176
|
{...props}
|
|
177
|
+
customTitleBar={
|
|
178
|
+
<div className={styles.header}>
|
|
179
|
+
<span className={styles.title}>{options && options.title}</span>
|
|
180
|
+
<div className={styles.side}>
|
|
181
|
+
<EnhancePopover id={'ai_right_panel_header_close'} title={localize('editor.title.context.close')}>
|
|
182
|
+
<EnhanceIcon icon='close' onClick={handleClose} />
|
|
183
|
+
</EnhancePopover>
|
|
184
|
+
</div>
|
|
185
|
+
</div>
|
|
186
|
+
}
|
|
177
187
|
renderContainerWrap={({ children }) => (
|
|
178
188
|
<div className={styles.right_slot_container_wrap}>
|
|
179
|
-
<div className={styles.header}>
|
|
180
|
-
<span className={styles.title}>{options && options.title}</span>
|
|
181
|
-
<div className={styles.side}>
|
|
182
|
-
<EnhancePopover id={'ai_right_panel_header_close'} title={localize('editor.title.context.close')}>
|
|
183
|
-
<EnhanceIcon icon='close' onClick={handleClose} />
|
|
184
|
-
</EnhancePopover>
|
|
185
|
-
</div>
|
|
186
|
-
</div>
|
|
187
189
|
<div className={styles.container}>{children}</div>
|
|
188
190
|
</div>
|
|
189
191
|
)}
|