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.43k stars 362 forks source link

Cloud Development Kit (CDK) Support #751

Open sjschmidt44 opened 4 years ago

sjschmidt44 commented 4 years ago

Describe the solution you'd like

Since this package is already tied into credentialed access to AWS and has some CFN support, it would be a nice fit for this tool to provide support for CDK; starting a new project, synthesizing, deployment, et. al.

Describe alternatives you've considered

CDK is still relatively new to the community, so there are no alternatives other than running CDK commands in the CLI.

kastork commented 4 years ago

Over in the jetbrains plugin repo, there was a pointer to this issue as a central place for voicing ideas for both VS Code and Jetbrains, so here goes.

In the preview version of AWS CDK EXPLORER (VSCode) gives a nice tree view of all the stacks that are currently deployed from the cdk -- this is great. I'd love to see this functionality in the Jetbrains plugin as well.

Things I'd find helpful in this tree view would be a contextual menu for any given node on the tree that let you drill down in various ways.

On Stack nodes, for example:

On resource nodes:

On Output nodes: Show the name, export name and value

On SSMParmeterStore nodes:

When a Ref appears under a resource node, it currently displays the generated identifier of the thing being referred to. This is useful if you, e.g., use the web console to look at cloud formation to find things out about the thing being referred to. In this tree view, it might be useful to also to display the logical id. For example, I define a VPC:

Vpc.Builder.create(this, "my-vpc"):

The generated template will then have some subnets in it, and the tree will have Subnet nodes that have a vpcid property with Ref:myvpcXXXXXX, the generated ID. I think I'd either like to be able to navigate to the Ref node with context menu, or else see the given name of the VPC (in this case my-vpc) in addition to the generated id.

Finally, in some cases the current tooltip is nothing more than a repeat of what you're mousing over. I'd suggest if there's nothing useful to put in a tool tip, then just don't show one.

Pie in the sky idea for stack node context menu - Get Diagram; to pull down a Cloud Formation Designer illustration.

ajohn-wick commented 3 years ago

Hello and I hope you are doing well!

Any update on such feature-request? Thank you very much for your feedback!

sholtomaud commented 2 years ago

Ok so not only do we want CDK support but what we also would really like is for the extension to do two things with CDK

  1. SCP Intellisense.
  2. Pull down tests from a Construct hub

We don't want to be in a situation where we write a stack and cannot deploy it because of Company SCPs so intellisense would be for the win here. We also need to have Globally defined Stack tests so that we cannot push code to CodeCommit which won't be able to be deployed even if a dev ignores the intellisense.

We want speed and we want to intercept non-compliant code as the dev types.

justinmk3 commented 2 years ago

@sholtomaud I've created a separate issue to track your idea, please comment there if I misunderstood: https://github.com/aws/aws-toolkit-vscode/issues/2673

justinmk3 commented 1 year ago

There is also https://github.com/aws-samples/aws-cdk-in-electron , perhaps we could use that as a starting point for implementing a CDK UI in AWS Toolkit.