Venryx / vscode-vtools

A collection of small tools for Visual Studio Code.
MIT License
21 stars 10 forks source link

[Discussion] Enable auto-hide behavior by default? #13

Open andys8 opened 6 years ago

andys8 commented 6 years ago

When I installed the extension, I was wondering that nothing was happening. Looking into the description, how this extension should be used, I knew that I had to enable one of the auto hide behaviors first. But this experience is not what I expected. I would have expected the feature to be turned on by default, to try it out immediately. And "disabling" it, by uninstalling the extension.

Of course it is nice, to still have the option to configure it, because there are currently two autohide options, and there could be more features, because of the generic name of the extension.

What do you think of the idea, to start with sensible defaults?

Venryx commented 6 years ago

I certainly considered it. I decided to have it default to off since I plan to add more features later, and it could get confusing for some features to default to on whereas others default to off.

In the short-term of course, having them default to on is better since they're the only features, but if I wanted to turn off the auto-hide features from the default later, it could cause confusion by having the feature stop working when the extension is updated.

But anyway, I wasn't (and still am not) sure which approach is better. One is more practical right now, the other is more consistent if I end up adding additional features.

andys8 commented 6 years ago

I'd say the decision depends on the scope of additional features and how likely it is, that there will be more in the future. Even then I would figure out, what the most important features are and what the user's most likely decision would be.

I see the points consistency and updating. Assuming that an extension can change user settings, the extension could add disabled settings on update, for users with a valid configuration.

Venryx commented 6 years ago

Yeah, that last point makes sense; assuming it's possible, I'll look into having them default to enabled, and then just have the user settings update to explicitly include the line enabling those features if I want to have them not default to enabled later. (I suppose, I would have to have some way of knowing whether the person just installed the extension or not, then -- perhaps doable using file creation dates)