-
Notifications
You must be signed in to change notification settings - Fork 676
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
Simplify generated launch.json #2673
Comments
Hi Isidor, First, we would generally like it if this template wasn't used - we really want users to let the C# extension generate a launch.json/tasks.json for them. The template is is only needed for folks with complicated projects that OmniSharp can't understand what they want to launch. For your feedback:
Sounds reasonable.
I don't think I like this idea. I think the right way to improve this experience is microsoft/vscode#5202.
I don't think it is a good idea to remove any of these from the template.
"launchBrowser": {
"enabled": true
} |
Gregg thanks for the fast reply, Can you please share some Great for quickPick to ask the user in first step. Should be fairly simple, here's a simple example. For the project name: can you not infer this from the project file and automatically fill this in? I do not understand why the user has to be involved here. Please note that I do not know a lot about C# :)
Cool for simplifying |
Just a ping reminder for my questions here. |
Here are the differences between the generated launch.json and what you posted:
RE: internalConsoleOptions - sounds reasonable
No, because we don't know what the project is anymore at resolve time. We have talked about changing our launch.json format a bit to optionally have a
Do you mean why is |
Great, thanks for the explanations. |
Hi there, I work at a tech agency (Q42) with rotating teams on different projects. We build anything connected to the internet, but mainly web services. Some of the web services are dotnet core, others are node or whatever stack we like to work with at that time. Developers are free to choose their editors, and we notice that more and more developers are using VS Code. For our dotnet projects we have configured launch.json files so the developer can check out a project, build it, run it and not worry about anything. This greatly increases the onboarding experience for the dotnet core teams. When maintaining these projects we would love the launch.json to not be concerned about the target framework. Becasue we've failed multiple times when updating the target-framework, to also test in each and every editor in use. In this case VS Code is the only odd one out. (VS & Rider both use launchSettings) Also, my two cents regarding a launchBrowser setting: We have it disabled by default, because different developers use different browsers and VS Code does not always get the browser right. On top of that not all developers like a new tab whenever they relaunch a project. Instead a developer can see the launchSettings.json in any editor they work with, and "just" go to the url described in that file. That approach works for every editor, on every OS, with every browser. |
Our usual Project launch.json:
This has taken some iterations, and builds upon the defaults being picked up from the Builds are bing triggered separately by the developer to prevent slow launches because of forced builds before launch. (Front-enders often relaunch, but don't often rebuild) Our front-end is run separately in the integrated terminal. |
Hey,
VSCode dev here. This milestone I am looking into simplifing generated
launch.json
for various extensions microsoft/vscode#62851The
launch.json
that C# generates is attached at the end. This is far too complex for the avarage user. I suggest to simplify it the following way:DebugConfigurationProvider
should use thequickPick
to ask the user if he would like to debug the console or a web app or to attach. After that it should ask what is the target framework and what is the project name if he did not choose attach. Optimally it should be able to detect those things on its own, but if not possible usequickPick
to ask the user.internalConsoleOptions
,args
,cwd
launchBrowser
,env
andsourceFileMap
properties. If no than these properties should be append in the resolveConfiguraiton calls. That way the user will not see any of this and there will be far less clutterconfiguraitonSnippets
which is great. However these snippets also need to be simplified. I suggest to remove all attributes that have the default value. Example:stopAtEntry
,cwd
,args
If you agree with the suggestions I am making here I am also here to help with any potential questions you might have. The changes should not require a lot of work but will simplify the flow a lot imho. It should be much less complex and not too much like a wizard experience
The text was updated successfully, but these errors were encountered: