Lambda template Folder Structure.
Describe the bug
When adding a new Lambda with VS 2022, the structure is too deep.
When I add a new Console App to my solution, the folder structure looks something like this: C:\Dev\SolutionName\ConsoleApp1
But when I add a new lambda to my Solution the folder structure looks like this, which is too deep and repeats the names of things. C:\Dev\SolutionName\NewLambdaName\src\NewLambdaName
Expected Behavior
I expect the folder name to look like:
C:\Dev\SolutionName\NewLambdaName\
And for the test project that gets generated to C:\Dev\SolutionName\NewLambdaName.Tests\
Current Behavior
When I add a new lambda to my Solution the folder structure looks like this, which is too deep and repeats the names of things. C:\Dev\SolutionName\NewLambdaName\src\NewLambdaName
Reproduction Steps
Right click on the Solution, Add New Project, select the Lambda Annotations Framework Preview (This also happens with other templates), Add the project to the solution.
Possible Solution
Structure the new files more like the .net templates that don't add all the extra folder depth.
Additional Information/Context
No response
AWS .NET SDK and/or Package version used
Amazon.Lambda.Templates (version 6.8.0)
AWS Toolkit 1.38.0.0
Targeted .NET Platform
.net 6, .net 7
Operating System and version
Windows 10
Changing this to feature request since this does not affect the functionality.
May be if user does not select test project to be added, then use the C# default project structure without too much nesting. If adding a test project, then we need to use the nested structure.
Why not have a separate template for the test project?
@Swimburger the problem with that approach is how do you match the provided test content with whichever starting content they chose. Ultimately I think what we need to do is make the default behavior do what you users expect which is put the project in the output directory. But add an additional flag if they also want a test project and then we have to do something special about folder paths. But that should be exception not the default.