@JakubMisek Thanks for your feedback, too.
I've discovered the .editorconfig files, and have re-organised my project, to suit.
I no longer exclude third party folders from the VS project, but have added .editorconfig files to the appropriate folders, and have the following in each, to prevent the display of warnings from within those files...
php_diagnostic = false
This allows me to still get intellisense for code which refers to those third party libraries, and not get warnings that they don't exist.
This is getting me a step closer to getting the levels of diagnostics that I want, in order to improve my confidence in not having broken anything, during code updates.
There are, however, still a few cases where the diagnostics feedback doesn't quite work in the way that I expected...
- I have a class defined in its own file and various other files have a 'use' statement, to reference that class and use its functionality
- If I only have the class file open in the editor, and make a change to the class name, then I don't see diagnostic messages to tell me that the client files are referring to an unknown class
- When I open the client file, I get the diagnostic(s) that I'd expect. This means that potential errors go unnoticed, unless that correct files are opened - which kind of defeats the point of having the automated diagnostics.
- If I then renamed the class back to its original name, the diagnostic messages about the client files don't go away - until I make a change to that file.
It's all tantalisingly close to a very nice solution, but frustrating at the same time.
Have I missed something about the configuration, that's causing this behaviour, or are things still under development, on this front?