-
Notifications
You must be signed in to change notification settings - Fork 384
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: support intelligent completions always visible preference #4043
Conversation
This PR was not deployed automatically as @Ricbet does not have access to the Railway project. In order to get automatic PR deploys, please add @Ricbet to the project inside the project settings page. |
Warning Rate limit exceeded@Ricbet has exceeded the limit for the number of commits or files that can be reviewed per hour. Please wait 1 minutes and 6 seconds before requesting another review. ⌛ How to resolve this issue?After the wait time has elapsed, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout. Please see our FAQ for further information. Walkthrough此次变更主要涉及将“内联补全”功能重命名为“智能补全”,并相应地更新了相关的设置、接口和本地化字符串。多个文件中删除了与内联补全相关的代码,新增了智能补全的逻辑和配置。整体结构进行了简化和重构,以提高可维护性和清晰度。 Changes
Possibly related PRs
Suggested labels
Suggested reviewers
Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media? 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 5
🧹 Outside diff range and nitpick comments (9)
packages/ai-native/src/browser/preferences/schema.ts (2)
37-39
: 重命名偏好设置键符合PR目标重命名
InlineCompletionsPromptEngineeringEnabled
为IntelligentCompletionsPromptEngineeringEnabled
符合PR的目标,即将内联补全更改为智能补全。这个改动保持了功能不变,只是更新了命名。建议更新相关文档以反映这一命名变更,确保用户和开发者能够正确理解和使用这个设置。
49-52
: 新增的智能补全可见性设置新增的
IntelligentCompletionsAlwaysVisible
设置很好地实现了PR的目标,即允许用户控制智能补全的可见性。将默认值设为false
是一个明智的选择,让用户可以选择性地启用这个新功能。建议:
- 在用户文档中详细说明这个新设置的作用和使用方法。
- 考虑添加一个简短的注释,解释这个设置的具体影响,例如:
[AINativeSettingSectionsId.IntelligentCompletionsAlwaysVisible]: { type: 'boolean', default: false, description: '控制智能补全是否始终可见,即使在显示下拉补全时' },packages/ai-native/src/browser/contrib/inline-completions/promptCache.ts (1)
45-45
: 更改符合 PR 目标,建议小幅改进以提高一致性。这个更改将事件监听器中的设置标识符从
InlineCompletionsCacheEnabled
更新为IntelligentCompletionsCacheEnabled
,与之前的更改保持一致,符合 PR 的目标。实现逻辑正确。为了提高代码的可维护性和一致性,建议将这个标识符提取为一个常量或枚举值,这样可以在整个类中统一使用,减少潜在的拼写错误。例如:
private static readonly CACHE_ENABLED_SETTING = AINativeSettingSectionsId.IntelligentCompletionsCacheEnabled; // 然后在构造函数和事件监听器中使用这个常量 this._isCacheEnabled = this.preferenceService.getValid(PromptCache.CACHE_ENABLED_SETTING, true); this.preferenceService.onSpecificPreferenceChange(PromptCache.CACHE_ENABLED_SETTING, (e) => { // ... });packages/ai-native/src/browser/contrib/inline-completions/completeProvider.ts (1)
74-74
: 设置监听器更新与之前的更改保持一致将偏好设置更改监听器更新为使用新的设置标识符
IntelligentCompletionsDebounceTime
是正确的,与之前的更改保持一致。这确保了当用户更改设置时,inlineComletionsDebounceTime
变量会被正确更新。为了保持一致性,建议考虑将
inlineComletionsDebounceTime
变量重命名为intelligentCompletionsDebounceTime
。这样可以使变量名与设置标识符保持一致,提高代码的可读性。例如:- inlineComletionsDebounceTime: number; + intelligentCompletionsDebounceTime: number; - this.inlineComletionsDebounceTime = this.preferenceService.getValid( + this.intelligentCompletionsDebounceTime = this.preferenceService.getValid( AINativeSettingSectionsId.IntelligentCompletionsDebounceTime, 150, ); this.addDispose( this.preferenceService.onSpecificPreferenceChange( AINativeSettingSectionsId.IntelligentCompletionsDebounceTime, ({ newValue }) => { - this.inlineComletionsDebounceTime = newValue; + this.intelligentCompletionsDebounceTime = newValue; }, ), );这个小改动可以进一步提高代码的一致性和可读性。
packages/ai-native/src/browser/contrib/inline-completions/model/inlineCompletionRequestTask.ts (2)
159-161
: 改进了状态栏反馈,提升用户体验。这些更改通过在完成请求前后更新状态栏项目,显著改善了用户反馈。现在,状态栏能更准确地反映操作的当前状态,这与PR提升用户体验的目标相符。
建议:考虑在catch块中也添加类似的状态更新逻辑,以处理错误情况下的用户反馈。
建议在catch块中也添加状态更新:
} catch (error) { + this.aiCompletionsService.updateStatusBarItem('error', false); this.aiCompletionsService.reporterEnd(relationId, { success: false, replytime: Date.now() - requestStartTime, message: error.toString(), }); this.aiCompletionsService.hideStatusBarItem(); return []; }
发现未更新的旧术语
在以下文件中仍使用旧术语 'InlineCompletions':
packages/monaco/src/browser/monaco-api/languages.ts
packages/extension/src/hosted/api/vscode/language/inlineCompletion.ts
packages/extension/src/hosted/api/vscode/ext.host.language.ts
packages/extension/src/common/vscode/languages.ts
packages/extension/src/browser/vscode/api/main.thread.language.ts
packages/ai-native/src/browser/ai-core.contribution.ts
packages/ai-native/src/browser/contrib/inline-completions/completeProvider.ts
packages/ai-native/src/browser/contrib/intelligent-completions/intelligent-completions.source.ts
packages/ai-native/src/browser/types.ts
packages/ai-native/src/browser/contrib/intelligent-completions/intelligent-completions.controller.ts
请确保在这些文件中也进行了相应的术语更新,以保持代码库的一致性。
🔗 Analysis chain
Line range hint
1-285
: 总体评审:变更符合PR目标,改进了用户体验本次更改主要集中在两个方面:
- 将 'InlineCompletions' 重命名为 'IntelligentCompletions',提高了术语的一致性。
- 改进了状态栏的反馈机制,为用户提供了更清晰的操作状态信息。
这些修改与PR的目标(支持智能补全始终可见的偏好设置)保持一致,并且显著提升了用户体验。代码变更保持了一致性,没有引入明显的问题或与现有代码的冲突。
建议:
- 考虑在其他相关文件中也进行类似的术语更新,以保持整个代码库的一致性。
- 可以考虑添加单元测试来验证新的状态栏更新逻辑。
为了确保术语更新的一致性,请运行以下脚本来检查是否还有其他文件使用旧术语:
这将帮助我们识别可能需要更新的其他文件。
为了确保术语更新的一致性,请运行以下脚本来检查是否还有其他文件使用旧术语:
为了确保术语更新的一致性,请运行以下脚本来检查是否还有其他文件使用旧术语:
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # 搜索包含旧术语 'InlineCompletions' 的文件 rg --type typescript 'InlineCompletions(?!PromptEngineeringEnabled)' -lLength of output: 339
Script:
#!/bin/bash # 使用PCRE2支持负向前瞻的正则表达式搜索包含旧术语 'InlineCompletions' 的文件 rg --pcre2 --type typescript 'InlineCompletions(?!PromptEngineeringEnabled)' -lLength of output: 116
Script:
#!/bin/bash # 使用 PCRE2 和文件扩展名搜索包含旧术语 'InlineCompletions' 的 TypeScript 文件 rg --pcre2 --glob '*.ts' --glob '*.tsx' 'InlineCompletions(?!PromptEngineeringEnabled)' -lLength of output: 763
packages/ai-native/src/browser/ai-core.contribution.ts (1)
332-348
: 设置更新符合新功能,建议小改进设置注册的修改反映了从"内联补全"到"智能补全"的转变,这与PR的目标一致。新的配置选项
intelligentCompletions.always.visible
已正确添加。建议:为保持一致性,考虑将
IntelligentCompletionsAlwaysVisible
重命名为IntelligentCompletionsAlwaysVisibleEnabled
,以匹配其他布尔类型设置的命名模式。packages/i18n/src/common/en-US.lang.ts (1)
1491-1491
: 新增的空行看起来是多余的这里添加了一个空行,但它似乎是不必要的。考虑移除这个空行以保持代码的整洁性。
建议删除这个空行:
-
packages/ai-native/src/browser/contrib/intelligent-completions/intelligent-completions.source.ts (1)
96-96
: 建议直接使用空字符串进行判断在第96行,使用
change.text === empty
判断文本是否为空。为提高代码可读性,建议直接使用change.text === ''
进行比较。
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
📒 Files selected for processing (13)
- packages/ai-native/src/browser/ai-core.contribution.ts (2 hunks)
- packages/ai-native/src/browser/contrib/inline-completions/completeProvider.ts (1 hunks)
- packages/ai-native/src/browser/contrib/inline-completions/model/inlineCompletionRequestTask.ts (2 hunks)
- packages/ai-native/src/browser/contrib/inline-completions/promptCache.ts (1 hunks)
- packages/ai-native/src/browser/contrib/intelligent-completions/intelligent-completions.controller.ts (6 hunks)
- packages/ai-native/src/browser/contrib/intelligent-completions/intelligent-completions.source.ts (3 hunks)
- packages/ai-native/src/browser/contrib/intelligent-completions/intelligent-completions.ts (0 hunks)
- packages/ai-native/src/browser/preferences/schema.ts (1 hunks)
- packages/core-common/src/settings/ai-native.ts (1 hunks)
- packages/i18n/src/common/en-US.lang.ts (1 hunks)
- packages/i18n/src/common/zh-CN.lang.ts (1 hunks)
- packages/startup/entry/sample-modules/ai-native/ai-native.contribution.ts (0 hunks)
- packages/startup/entry/sample-modules/ai-native/ai.back.service.ts (0 hunks)
💤 Files not reviewed due to no reviewable changes (3)
- packages/ai-native/src/browser/contrib/intelligent-completions/intelligent-completions.ts
- packages/startup/entry/sample-modules/ai-native/ai-native.contribution.ts
- packages/startup/entry/sample-modules/ai-native/ai.back.service.ts
🔇 Additional comments not posted (27)
packages/core-common/src/settings/ai-native.ts (3)
15-17
: 重命名枚举值以反映新的智能补全功能枚举值的重命名从"inline completions"到"intelligent completions"与PR的目标一致,提高了代码的一致性和可读性。
18-18
: 新增智能补全始终可见的设置选项新增的
IntelligentCompletionsAlwaysVisible
枚举值直接对应PR中描述的新功能,允许用户控制智能补全的可见性。这个添加很好地实现了PR的主要目标。
15-18
: 总体评价:更改符合PR目标并提高了代码质量这些更改很好地实现了PR的目标,通过重命名相关设置并添加新的控制选项来支持智能补全的始终可见性。代码变更保持了一致性,并提高了整体可读性。没有发现任何问题或需要进一步改进的地方。
packages/ai-native/src/browser/preferences/schema.ts (2)
45-47
: 一致的命名更新将
InlineCompletionsCacheEnabled
重命名为IntelligentCompletionsCacheEnabled
与之前的更改保持一致。这个改动保持了功能不变,只是更新了命名。为确保所有相关的命名都已更新,建议运行以下脚本进行全面检查:
#!/bin/bash # 描述:检查是否还有其他使用"InlineCompletions"前缀的设置 # 测试:搜索可能遗漏的旧命名。预期:没有结果。 rg --type typescript "InlineCompletions(?!PromptEngineeringEnabled|DebounceTime|CacheEnabled)"
41-43
: 保持一致性的重命名将
InlineCompletionsDebounceTime
重命名为IntelligentCompletionsDebounceTime
与之前的更改保持一致。这个改动维持了功能不变,仅更新了命名。为确保整个代码库的一致性,建议运行以下脚本检查是否有遗漏的重命名:
✅ Verification successful
修正搜索脚本以确保一致性
之前的搜索脚本由于正则表达式不被支持导致失败。请使用以下修正后的脚本重新运行:
修正文件类型以正确搜索旧命名项
上一个脚本中的
--type typescript
未被识别。请使用以下修正后的脚本,通过指定文件扩展名来搜索InlineCompletionsDebounceTime
:
一致性检查通过
已确认
InlineCompletionsDebounceTime
已在代码库中全部重命名为IntelligentCompletionsDebounceTime
,未发现残留引用。🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # 描述:检查是否还有其他使用旧命名的地方 # 测试:搜索可能遗漏的旧命名。预期:没有结果。 rg --type typescript "InlineCompletionsDebounceTime"Length of output: 388
Script:
#!/bin/bash # 描述:检查是否还有其他使用旧命名的地方 # 修正:启用 PCRE2 以支持高级正则表达式 rg --pcre2 --type typescript "InlineCompletionsDebounceTime"Length of output: 95
Script:
#!/bin/bash # 描述:检查是否还有其他使用旧命名的地方 # 修正:使用 --glob 指定 TypeScript 文件扩展名 rg --pcre2 --glob '*.ts' --glob '*.tsx' "InlineCompletionsDebounceTime"Length of output: 71
packages/ai-native/src/browser/contrib/inline-completions/promptCache.ts (2)
39-39
: 更改符合 PR 目标,代码逻辑正确。这个更改将设置标识符从
InlineCompletionsCacheEnabled
更新为IntelligentCompletionsCacheEnabled
,与 PR 的目标一致,即支持智能补全功能。实现逻辑正确,没有发现问题。
39-45
: 建议检查其他可能受影响的代码部分这些更改将设置标识符从
InlineCompletionsCacheEnabled
更新为IntelligentCompletionsCacheEnabled
,符合 PR 的目标。然而,这种更改可能会影响到代码库的其他部分。建议:
- 检查是否有其他文件或模块引用了旧的设置标识符
InlineCompletionsCacheEnabled
,确保所有相关部分都已更新。- 更新相关文档,包括用户文档和开发者文档,以反映这一变化。
- 如果有单元测试涉及到这个设置,请确保也进行了相应的更新。
可以使用以下脚本来检查可能受影响的其他文件:
✅ Verification successful
验证通过,无发现使用旧标识符的代码部分
更改后的设置标识符
IntelligentCompletionsCacheEnabled
已在所有相关部分更新,无需进一步操作。🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # 搜索可能使用旧标识符的文件 rg "InlineCompletionsCacheEnabled" --type typescriptLength of output: 87
Script:
#!/bin/bash # 搜索可能使用旧标识符的 TypeScript 文件 rg "InlineCompletionsCacheEnabled" -g "*.ts" -g "*.tsx"Length of output: 55
packages/ai-native/src/browser/contrib/inline-completions/completeProvider.ts (1)
68-68
: 设置标识符更新提高了清晰度将设置标识符从
InlineCompletionsDebounceTime
更改为IntelligentCompletionsDebounceTime
是一个很好的改进。这个变更使得代码更加清晰,并且与PR的目标保持一致,即支持智能补全功能。packages/ai-native/src/browser/contrib/inline-completions/model/inlineCompletionRequestTask.ts (2)
70-72
: 更新了首选项键名,提高了一致性。这个更改将首选项键从 'InlineCompletionsPromptEngineeringEnabled' 更新为 'IntelligentCompletionsPromptEngineeringEnabled',与PR的目标保持一致,提高了术语的一致性。
76-77
: 首选项监听器更新,保持一致性。这个更改与之前的修改保持一致,确保了监听器正确设置为新的首选项键。这种一致性有助于维护代码的可读性和可维护性。
packages/ai-native/src/browser/ai-core.contribution.ts (3)
Line range hint
271-287
: 代码简化符合PR目标
onDidStart
方法的修改移除了inlineCompletionSingleHandler.load()
的调用,这与PR的目标一致,即移除先前的alwaysVisible
API设计。这一变更简化了方法,并移除了内联补全的初始化。
Line range hint
1-1
: 建议全面检查旧内联补全系统的引用本PR的更改将内联补全替换为智能补全,这是一个重大的重构。虽然当前文件的更改看起来很全面,但建议进行全面检查,以确保整个代码库中所有对旧内联补全系统的引用都已更新。
请运行以下脚本来检查整个代码库中是否还存在对旧内联补全系统的引用:
#!/bin/bash # 描述:检查整个代码库中是否存在对旧内联补全系统的引用 # 测试:搜索与旧内联补全系统相关的术语。预期:除了本文件外,不应有其他匹配项。 rg --type typescript "inlineCompletion(?!s)|InlineCompletionSingleHandler" -g '!**/ai-core.contribution.ts' # 测试:搜索可能需要更新为"intelligentCompletions"的"inlineCompletions"引用。预期:没有遗漏的更新。 rg --type typescript "inlineCompletions" -g '!**/ai-core.contribution.ts'如果脚本返回任何结果,请仔细检查这些位置,确保所有相关引用都已正确更新为新的智能补全系统。
Line range hint
1-1
: 验证 InlineCompletionSingleHandler 的完全移除根据AI生成的摘要,
InlineCompletionSingleHandler
已从AINativeBrowserContribution
类中移除。这符合PR的重构目标。请运行以下脚本以验证
InlineCompletionSingleHandler
及其相关代码已被完全移除,确保没有遗留任何未使用的代码:如果脚本返回任何结果,请检查这些位置并确保它们不是遗漏的需要删除的代码。
packages/i18n/src/common/zh-CN.lang.ts (3)
1252-1255
: 新增的 AI 原生相关设置项翻译准确这些新增的设置项翻译准确且符合上下文。建议在 "控制 Chat 面板默认的展示方式" 后面添加冒号,以保持与其他设置项描述的一致性。
建议修改如下:
- 'preference.ai.native.chat.visible.type': '控制 Chat 面板默认的展示方式', + 'preference.ai.native.chat.visible.type': '控制 Chat 面板默认的展示方式:',
1257-1262
: 智能补全相关设置项翻译准确新增的智能补全(intelligentCompletions)相关设置项翻译准确。不过,为了保持一致性,建议在每个描述的末尾添加句号。
建议修改如下:
- 'preference.ai.native.intelligentCompletions.title': '智能补全', + 'preference.ai.native.intelligentCompletions.title': '智能补全', - 'preference.ai.native.intelligentCompletions.promptEngineering.enabled': - '是否启用提示词工程,一些 LLM 模型在提示词工程上可能表现不佳。', + 'preference.ai.native.intelligentCompletions.promptEngineering.enabled': + '是否启用提示词工程,一些 LLM 模型在提示词工程上可能表现不佳。', - 'preference.ai.native.intelligentCompletions.debounceTime': '智能补全的延迟时间(毫秒)', + 'preference.ai.native.intelligentCompletions.debounceTime': '智能补全的延迟时间(毫秒)。', - 'preference.ai.native.intelligentCompletions.cache.enabled': '是否启用智能补全的缓存', + 'preference.ai.native.intelligentCompletions.cache.enabled': '是否启用智能补全的缓存。', - 'preference.ai.native.intelligentCompletions.always.visible': '是否总是展示智能补全', + 'preference.ai.native.intelligentCompletions.always.visible': '是否总是展示智能补全。',
Line range hint
1-1262
: 总体评价:翻译质量良好,仅需少量调整本次更新主要涉及 AI 功能和智能补全相关的翻译,整体质量良好,符合现有的翻译风格。建议进行少量调整以提高一致性:
- 在 "控制 Chat 面板默认的展示方式" 后添加冒号。
- 在智能补全相关设置项的描述末尾统一添加句号。
这些小的改进将使翻译更加统一和专业。
packages/i18n/src/common/en-US.lang.ts (1)
1492-1497
: 新增了智能补全相关的设置项翻译这些新增的翻译项与智能补全(Intelligent Completions)功能相关,替换了之前的内联补全(Inline Completions)。翻译看起来准确且一致。
新增的翻译项如下:
- 智能补全的标题
- 提示工程(prompt engineering)的启用选项
- 智能补全的防抖时间
- 智能补全的缓存启用选项
- 是否始终显示智能补全的选项
这些新增项很好地覆盖了智能补全功能的各个方面,提供了全面的用户配置选项。
packages/ai-native/src/browser/contrib/intelligent-completions/intelligent-completions.source.ts (3)
37-37
: 确认 monacoEditor 是否确实可选构造函数中的参数
monacoEditor
被标记为@Optional()
。请确认在未提供monacoEditor
的情况下,类的功能是否正常。如果monacoEditor
是必需的,建议移除@Optional()
注解。
67-67
: 确认 affectsSome 方法的使用在第67行,使用了
e.affectsSome(inlineVisibleKey)
。请确保affectsSome
方法适用于传入的Set
类型参数,并符合预期行为。
117-117
: 确保 groupId 更改的一致性在第117行,
groupId
被修改为'ai-native-intelligent-completions'
。请确认代码库中所有引用旧groupId
'ai-native-inline-completions'
的地方都已更新,以避免潜在问题。运行以下脚本以检查是否存在对旧
groupId
的引用:✅ Verification successful
已验证
groupId
更改的一致性在代码库中未发现对旧的
groupId
'ai-native-inline-completions'
的引用,确认所有引用已更新。🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # 查找代码库中所有引用旧的 groupId 'ai-native-inline-completions' 的位置 rg --type typescript "'ai-native-inline-completions'"Length of output: 96
Script:
#!/bin/bash # 查找代码库中所有引用旧的 groupId 'ai-native-inline-completions' 的位置 rg "'ai-native-inline-completions'"Length of output: 43
packages/ai-native/src/browser/contrib/intelligent-completions/intelligent-completions.controller.ts (7)
1-1
: 添加PreferenceService
的导入在第 1 行,导入了
PreferenceService
,为后续获取用户偏好设置提供了支持。
53-56
: 新增preferenceService
的获取器在第 53-55 行,添加了
preferenceService
的 getter 方法,遵循了依赖注入的模式,方便在类中访问用户偏好设置。
62-62
: 新增inlineCompletionsSource
属性在第 62 行,添加了
private inlineCompletionsSource: InlineCompletionsSource
,为内联补全功能提供了属性支持。
69-69
: 初始化inlineCompletionsSource
在第 69 行,于
mount
方法中初始化了inlineCompletionsSource
,确保内联补全源在编辑器挂载时被正确设置。
71-74
: 调用registerFeature
和handlerAlwaysVisiblePreference
方法在第 71-72 行,调用了
this.registerFeature(this.monacoEditor);
和this.handlerAlwaysVisiblePreference();
,正确地注册了特性并处理了“始终可见”偏好设置。
365-365
: 在registerFeature
方法中调用this.inlineCompletionsSource.fetch()
在第 365 行,添加了对
this.inlineCompletionsSource.fetch()
的调用,确保在注册特性时立即获取内联补全数据。
Line range hint
330-365
: 将registerFeature
方法从public
修改为private
可能影响外部依赖在第 330 行,将
registerFeature
方法的访问修饰符从public
更改为private
,且返回类型从IDisposable
变为void
。这可能导致依赖该方法的外部代码出现问题。请确认在代码库中,没有其他模块依赖于
registerFeature
方法。可以运行以下脚本进行验证:✅ Verification successful
验证通过:
registerFeature
方法无外部依赖根据搜索结果,代码库中不存在对
registerFeature
方法的外部调用。此更改不会影响外部依赖。🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # 描述:检查代码库中是否存在对 `registerFeature` 方法的外部调用 # 搜索对 `registerFeature` 方法的引用,排除当前文件 rg --type typescript 'registerFeature' --glob '!.*/intelligent-completions.controller.ts'Length of output: 124
Script:
#!/bin/bash # 描述:检查代码库中是否存在对 `registerFeature` 方法的外部调用 # 搜索对 `registerFeature` 方法的引用,排除当前文件 rg --type ts 'registerFeature' --glob '!.*/intelligent-completions.controller.ts'Length of output: 557
...ages/ai-native/src/browser/contrib/intelligent-completions/intelligent-completions.source.ts
Show resolved
Hide resolved
...ages/ai-native/src/browser/contrib/intelligent-completions/intelligent-completions.source.ts
Show resolved
Hide resolved
.../ai-native/src/browser/contrib/intelligent-completions/intelligent-completions.controller.ts
Show resolved
Hide resolved
.../ai-native/src/browser/contrib/intelligent-completions/intelligent-completions.controller.ts
Show resolved
Hide resolved
.../ai-native/src/browser/contrib/intelligent-completions/intelligent-completions.controller.ts
Show resolved
Hide resolved
/next |
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #4043 +/- ##
==========================================
- Coverage 54.39% 54.38% -0.01%
==========================================
Files 1584 1584
Lines 97064 97083 +19
Branches 19863 19871 +8
==========================================
+ Hits 52800 52801 +1
- Misses 36764 36783 +19
+ Partials 7500 7499 -1
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. |
🎉 PR Next publish successful! 3.3.4-next-1727252366.0 |
packages/ai-native/src/browser/contrib/inline-completions/model/inlineCompletionRequestTask.ts
Outdated
Show resolved
Hide resolved
b695cc2
to
9b9ae0c
Compare
Types
Background or solution
智能补全与下拉补全同时显示的问题由 preference 管控比较好。
删除了原来的 alwaysVisible api 的设计。
现在即使是插件或者其他模块注册的 inline completion provider 都能一直显示出来,不会因下拉补全的出现而消失
Changelog
新增 intelligentCompletions.always.visible 配置
Summary by CodeRabbit
新功能
变更
本地化