Skip to content
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(amazonq): Add language server support for codewhisperer #6462

Open
wants to merge 204 commits into
base: master
Choose a base branch
from

Conversation

jpinkney-aws
Copy link
Contributor

@jpinkney-aws jpinkney-aws commented Jan 29, 2025

Problem

  • Amazon q completions currently use a custom implementation. Instead, we can leverage the codewhisperer implementation in the language-servers repository to provide this information for us

Solution

  • Implement manifest downloading, lsp resolution
  • Decouple inline completion activation from codewhisperer activation
  • Port workspace context language server to use the lsp installer

TODOs before this is merged

Risks

  • Inline completion activation has been decoupled from other codewhisperer activation, we need to make sure everything is still getting activated and in the right order
  • workspace context language server now uses the manifest downloading code

  • 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.
  • License: I confirm that my contribution is made under the terms of the Apache 2.0 license.

aws-toolkit-automation and others added 30 commits December 4, 2024 19:09
…6142)

## Problem
We want to experiment with the amazon q language server

## Solution
Set up the structure for the eventual amazon q language srever
## Problem
- we need a way to download the manifest and install the correct mynah
ui/language server code

## Solution
- create a common lsp downloader that flare/workspace lsps can use
## Problem
- vscode doesn't have the codewhisperer lsp for completion requests

## Solution
- use the codewhisperer lsp when `"aws.experiments": {
    "amazonqLSP": true
  },`

---

- 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.
aws-toolkit-automation and others added 30 commits February 18, 2025 18:09
#6581)

## Problem
Followup to #6570 but for
the workspace context language server

## Solution
- dev setting/environment variable overrides for setting manifest, id,
supportedVersions, development override
- extract the common lsp installer functionality to a base lsp installer
class
- add new tests exercising the config
- rename lspResolver -> lspInstaller

---

- 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.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants