Skip to content

Commit b9a5a94

Browse files
leigaoljpinkney-awsaws-toolkit-automationHweinstocknkomonen-amazon
authored
feat(amazonq): Move inline completion to Flare (#7480)
## Problem https://github.com/aws/aws-toolkit-vscode/pull/7450/files is too convoluted, hard to review and we also found a couple of regressions. ## Solution Move inline completion to Flare first in this PR. Then we plan on how to move auth to Flare. After this merge, https://github.com/aws/aws-toolkit-vscode/pull/7450/files will be a lot easier to debug and review. --- - Treat all work as PUBLIC. Private `feature/x` branches will not be squash-merged at release time. - Your code changes must meet the guidelines in [CONTRIBUTING.md](https://github.com/aws/aws-toolkit-vscode/blob/master/CONTRIBUTING.md#guidelines). - License: I confirm that my contribution is made under the terms of the Apache 2.0 license. --------- Signed-off-by: nkomonen-amazon <[email protected]> Co-authored-by: Josh Pinkney <[email protected]> Co-authored-by: aws-toolkit-automation <[email protected]> Co-authored-by: Hweinstock <[email protected]> Co-authored-by: Nikolas Komonen <[email protected]> Co-authored-by: nkomonen-amazon <[email protected]> Co-authored-by: Josh Pinkney <[email protected]> Co-authored-by: Tom Zu <[email protected]> Co-authored-by: Will Lo <[email protected]> Co-authored-by: Tai Lai <[email protected]> Co-authored-by: Adam Khamis <[email protected]> Co-authored-by: Na Yue <[email protected]> Co-authored-by: Laxman Reddy <[email protected]> Co-authored-by: Jiatong Li <[email protected]> Co-authored-by: Avi Alpert <[email protected]> Co-authored-by: Brad Skaggs <[email protected]> Co-authored-by: hkobew <[email protected]> Co-authored-by: Zoe Lin <[email protected]> Co-authored-by: chungjac <[email protected]> Co-authored-by: invictus <[email protected]>
1 parent d8548fc commit b9a5a94

File tree

102 files changed

+2421
-10571
lines changed

Some content is hidden

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

102 files changed

+2421
-10571
lines changed

package-lock.json

Lines changed: 35 additions & 5 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/amazonq/src/app/inline/activation.ts

Lines changed: 1 addition & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -6,68 +6,26 @@
66
import vscode from 'vscode'
77
import {
88
AuthUtil,
9-
CodeSuggestionsState,
10-
CodeWhispererCodeCoverageTracker,
119
CodeWhispererConstants,
12-
CodeWhispererSettings,
13-
ConfigurationEntry,
14-
DefaultCodeWhispererClient,
15-
invokeRecommendation,
1610
isInlineCompletionEnabled,
17-
KeyStrokeHandler,
18-
RecommendationHandler,
1911
runtimeLanguageContext,
2012
TelemetryHelper,
2113
UserWrittenCodeTracker,
2214
vsCodeState,
2315
} from 'aws-core-vscode/codewhisperer'
24-
import { Commands, getLogger, globals, sleep } from 'aws-core-vscode/shared'
16+
import { globals, sleep } from 'aws-core-vscode/shared'
2517

2618
export async function activate() {
27-
const codewhispererSettings = CodeWhispererSettings.instance
28-
const client = new DefaultCodeWhispererClient()
29-
3019
if (isInlineCompletionEnabled()) {
3120
await setSubscriptionsforInlineCompletion()
3221
await AuthUtil.instance.setVscodeContextProps()
3322
}
3423

35-
function getAutoTriggerStatus(): boolean {
36-
return CodeSuggestionsState.instance.isSuggestionsEnabled()
37-
}
38-
39-
async function getConfigEntry(): Promise<ConfigurationEntry> {
40-
const isShowMethodsEnabled: boolean =
41-
vscode.workspace.getConfiguration('editor').get('suggest.showMethods') || false
42-
const isAutomatedTriggerEnabled: boolean = getAutoTriggerStatus()
43-
const isManualTriggerEnabled: boolean = true
44-
const isSuggestionsWithCodeReferencesEnabled = codewhispererSettings.isSuggestionsWithCodeReferencesEnabled()
45-
46-
// TODO:remove isManualTriggerEnabled
47-
return {
48-
isShowMethodsEnabled,
49-
isManualTriggerEnabled,
50-
isAutomatedTriggerEnabled,
51-
isSuggestionsWithCodeReferencesEnabled,
52-
}
53-
}
54-
5524
async function setSubscriptionsforInlineCompletion() {
56-
RecommendationHandler.instance.subscribeSuggestionCommands()
57-
5825
/**
5926
* Automated trigger
6027
*/
6128
globals.context.subscriptions.push(
62-
vscode.window.onDidChangeActiveTextEditor(async (editor) => {
63-
await RecommendationHandler.instance.onEditorChange()
64-
}),
65-
vscode.window.onDidChangeWindowState(async (e) => {
66-
await RecommendationHandler.instance.onFocusChange()
67-
}),
68-
vscode.window.onDidChangeTextEditorSelection(async (e) => {
69-
await RecommendationHandler.instance.onCursorChange(e)
70-
}),
7129
vscode.workspace.onDidChangeTextDocument(async (e) => {
7230
const editor = vscode.window.activeTextEditor
7331
if (!editor) {
@@ -80,7 +38,6 @@ export async function activate() {
8038
return
8139
}
8240

83-
CodeWhispererCodeCoverageTracker.getTracker(e.document.languageId)?.countTotalTokens(e)
8441
UserWrittenCodeTracker.instance.onTextDocumentChange(e)
8542
/**
8643
* Handle this keystroke event only when
@@ -105,19 +62,6 @@ export async function activate() {
10562
* Then this event can be processed by our code.
10663
*/
10764
await sleep(CodeWhispererConstants.vsCodeCursorUpdateDelay)
108-
if (!RecommendationHandler.instance.isSuggestionVisible()) {
109-
await KeyStrokeHandler.instance.processKeyStroke(e, editor, client, await getConfigEntry())
110-
}
111-
}),
112-
// manual trigger
113-
Commands.register({ id: 'aws.amazonq.invokeInlineCompletion', autoconnect: true }, async () => {
114-
invokeRecommendation(
115-
vscode.window.activeTextEditor as vscode.TextEditor,
116-
client,
117-
await getConfigEntry()
118-
).catch((e) => {
119-
getLogger().error('invokeRecommendation failed: %s', (e as Error).message)
120-
})
12165
})
12266
)
12367
}

0 commit comments

Comments
 (0)