SanderRonde / phpstan-vscode

PHPStan plugin for VSCode
https://marketplace.visualstudio.com/items?itemName=SanderRonde.phpstan-vscode
MIT License
41 stars 9 forks source link

Directions are unclear #97

Open bandtank opened 2 weeks ago

bandtank commented 2 weeks ago

I do not know how to enable the extension after installing it. The directions assume the developer has a lot of knowledge about where to put the configuration parameters in various files, but that is not true for people who are new to extensions. The README does not say which files to edit, how to apply PHPStan to all workspaces or only specific workspaces, and many other things.

Main Config - What is it? Where is it? Where does phpstan.configFile go?

A few sentences and examples in the README would save hours of frustration for new users. I've been at this for 30 minutes and I am starting to get frustrated and exasperated that the directions assume a level of knowledge about the environment which I do not have. Something as simple as an example file with JSON in the correct structure instead of a bulleted list would be more useful.

SanderRonde commented 2 weeks ago

I do not know how to enable the extension after installing it

That is unfortunate, I'm always ready to help

The directions assume the developer has a lot of knowledge about where to put the configuration parameters in various files, but that is not true for people who are new to extensions

A refresher: VSCode has a GUI for changing settings as can be read here where you can also change the various settings mentioned in the README. It also allows you to edit these settings directly in a JSON file (yes, just one file). You'll also find a bunch of examples on how to change this file and what it looks like on the VSCode website.

The README does not say which files to edit

That's correct, I don't think that's within the scope of an extension's README to give instructions on how to configure extensions in general, especially if those instructions can be found on VSCode's website after a quick google search.

how to apply PHPStan to all workspaces or only specific workspaces,

It indeed doesn't say that and that's a fair question to ask. Since I don't get this question a lot I didn't list it there. I did get the question before in an issue though and in summary decided it was not worth it to support multiple workspaces at least for the time being. So no, only a specific workspace is supported.

(I did just add it to the README since it indeed is good to have in the FAQ)

and many other things

Feel free to say "hey could you answer this question in the README" but saying "the README doesn't answer my unmentioned questions" won't answer them and I won't be able to add them to it either.

Main Config - What is it? Where is it?

It is not a what or a where, just a header to give structure to the text. Similarly you'll find "tuning" and "customization" also being headers.

Where does phpstan.configFile go?

In the same big file where everything else goes, settings.json

A few sentences and examples in the README would save hours of frustration for new users. I've been at this for 30 minutes and I am starting to get frustrated and exasperated that the directions assume a level of knowledge about the environment which I do not have. Something as simple as an example file with JSON in the correct structure instead of a bulleted list would be more useful.

I think you'll find that most VSCode extensions have the format of a bulleted list (for example [ESLint])(https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint#settings-options). With a large portion of extensions even having no mention of their settings in a README at all. Probably because VSCode itself provides such a bulleted list if you go to the features tab of an extension's detail page, including defaults, examples etc.

I can imagine that it's frustrating if you don't have knowledge about this environment, but that's not necessarily the fault of this extension. That's not to say that the extension is perfect and that the onboarding process is without flaws. I did recognize this myself as well a few days ago and I've created a setup wizard that should make this process a lot easier. It'll be released to the store version some time soon.

If you still need help figuring it out I can of course help.