-
Notifications
You must be signed in to change notification settings - Fork 678
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
Organization of debugger settings #515
Comments
I think 1. might be the way to go. I worry about it being too verbose though. |
For 2 - is there a good way for debug adapters to read that file? Personally I like the fact that these options are settable from launch.json. Maybe they should also be in the user settings file though. But one thing I find annoying about VS is that if I, for example, have one project that I need to leave just my code off and another where just my code is basically always my friend I can only set them in tools options, and it would be great to be able to set some of these in both places. |
Adding my $0.02. I just learned there is a setting in Currently, the csharp extension auto-generates the |
@seraku24 for this particular setting, I agree with you that the default that the VS Code team choose isn't what I would pick. As of the upcoming 1.4 version of the extension, we actually generate launch.json with internalConsoleOptions -- #692. As for some system for allowing templating of launch.json -- I can definitely see the appeal for some settings (ex: symbol paths). But the problem with that is that it will only get applied on the initial creation of launch.json. I am more inclined to think we eventually need some sort of per-user settings file to go along with launch.json. It couldn't actually work with internalConsoleOptions since that is a VS Code setting, But it could work with the set of our options where that might make sense. |
Thanks, @gregg-miskelly, especially for picking the option that I prefer for the debug console. True, templating may have limited effectiveness. I would see it mainly helping folks like me who end up creating a fair number of small projects. Then again, I could benefit from If we can work towards giving user-centric and project-centric settings their proper homes, that would be ideal. I wonder whether extensions can party on the same system that VS Code uses for its settings, which already supports global user settings with per-workspace overrides. |
At this point, I can't see us reorganizing all of our options, so I am going to close this. |
As we start adding more configuration to the extension, it's worth looking at where we want various options to go. Currently, we're adding debugger options to the root of the launch configuration, e.g.
However, as we continue to add more features and configuration, this route will both add length to a disorganized and loosely-related list of options, but it will also negatively impact discoverability, as the current method of discovering options (reading through the intellisense) will continue to grow:
Possible improvements
1. Create a "debuggerOptions" section
This allows us to group the debugger configuration in one place, making it easier to glimpse at your settings and determine how the debugger will behave during that session. This also groups debugger options in the intellisense window, like how the logging options are currently consolidated:
2. Add extension user settings
We currently store all of our options in the launch.json file, which means that if there's a setting that a user always wants to have a particular value that's not the default, they have to add it to every project they interact with. Some debugger options are more suited to being dependent on the user than on the project. Adding them to the user options config would allow the user to persist their debugging preferences. The Go extension, for example, saves parts of their config to the user settings.
Issues
The text was updated successfully, but these errors were encountered: