aws / aws-toolkit-vscode

Amazon Q, CodeCatalyst, Local Lambda debug, SAM/CFN syntax, ECS Terminal, AWS resources
https://marketplace.visualstudio.com/items?itemName=AmazonWebServices.amazon-q-vscode
Apache License 2.0
1.45k stars 377 forks source link

CodeWhisperer does not work when the snowflake plugin is activated #4589

Open jsbruneau opened 4 months ago

jsbruneau commented 4 months ago

Problem

When the Snowflake plugin is activated, the Code Whisperer does not work.

Steps to reproduce the issue

  1. Install the AWS toolkit and enable Code Whisperer
  2. Open and save a new .sql file.
  3. Confirm that the code completion works
  4. Install the Snowflake plugins (v1.5.1) and the Snowflake for VS Code (v0.0.1)
  5. Re-Launch VS Code
  6. Try the code completion feature, it should not work

Expected behavior

The code completion should work even with other plugins activated

System details (run the AWS: About Toolkit command)

OS: Darwin arm64 23.3.0 Visual Studio Code extension host: 1.87.2 AWS Toolkit: 2.16.0 node: 18.17.1 electron: 27.3.2

justinmk3 commented 4 months ago

Is Snowflake a code-completion plugin? Can you link to the plugin on the vscode marketplace, so we can investigate?

jsbruneau commented 4 months ago

Yes, it is: https://marketplace.visualstudio.com/items?itemName=snowflake.snowflake-vsc

Because by default, the Snowflake extension will treat all .sql files as .snowflake-sql, and AWS CodeWhisperer does not process .snowflake-sql files, here’s a workaround to configure the Snowflake extension to work with .sql files, thereby enabling you to use CodeWhisperer

Modify settings.json for File Associations: Add an entry to associate *.sql files with the snowflake-sql language identifier.

Update package.json for the snowflake Extension: Adjust the enablement property of the relevant commands to accept both snowflake-sql and sql language identifiers (editorLangId == 'sql').

Modify Keybindings (keybindings.json): Set a custom keybinding for the Snowflake command to work with .sql files.