error/warning message style configuration #1337
Replies: 6 comments 5 replies
-
"especially in context where the tooling is not available" More specifically, is this sentence about CI scenarios which are running a build? I can see this suggestion is framed more like a general capability/infrastructure, but I think it will be better to specify clear user scenarios in mind. |
Beta Was this translation helpful? Give feedback.
-
Detailed error messages are of course great to have. |
Beta Was this translation helpful? Give feedback.
-
One thing to keep in mind is infrastructure. Meaning what canand can't msbuild and VS consume and display. |
Beta Was this translation helpful? Give feedback.
-
Things to revisit:
I'm wondering, if it is possible to go past those blocks; it is a bit like git commit messages, first line is short, and then the rest is descriptive, and it is the infrastructure to adapt, the infrastructure serves the users and compilers, without those, msbuild and VS would be much less useful. I don't see why the tooling which somehow couldn't handle more than a line would not be able to cut it gracefully, and the tooling which can (printing to the output pane, console, build log, tooltip which can scroll), to actually help the user rather than mess with the format. |
Beta Was this translation helpful? Give feedback.
-
We should really discern between what I will now call the "historical error message" (a succinct unformatted one-liner string) and an "extended error message".
Here are some initial ideas For F#, the compiler service should continue to provide the historical error messages. |
Beta Was this translation helpful? Give feedback.
-
support for multiline error message in msbuild terminal logger: dotnet/msbuild#9699 |
Beta Was this translation helpful? Give feedback.
-
It seems there are diverging opinions about compiler error messages, they can be formulated to the shortest, and in some case, not disclose enough information, especially in context where the tooling is not available, or just not super user friendly, and they can also provide expansive output, with details about the call site, and the symbols being used or reported.
The rust compiler is known to be really good for showing the actual code, over a whole snippet, and pinpointing which symbol cause issue, both the definition and usage, for the borrow checker, and many other messages. I know from experience that through this extensive details, it made it easier for me to learn the language.
Beta Was this translation helpful? Give feedback.
All reactions