More concise completion info with OptionalAttribute/DefaultParameterValueAttribute
Details
C# style optional arguments take up a lot of space in completions:
The full namespace is explicit to show that it expands when System.Runtime.InteropServices is not opened.
This could be condensed to something like name : string, args : string = "", workDirectory: string = ""
Example of how it currently looks like in Rider:
I haven't checked how it looks like in Visual Studio, essentially the idea is it could display the constructor in System.Runtime.InteropServices.DefaultParameterValue() or the default type value
the snippet itself:
type Process() =
static member inline wait
(
name: string,
[<
System.Runtime.InteropServices.Optional;
System.Runtime.InteropServices.DefaultParameterValue("")>]
args: string,
[<
System.Runtime.InteropServices.Optional;
System.Runtime.InteropServices.DefaultParameterValue("")
>]
workDirectory: string
) =
// ..
()
Checklist
- [X] I have looked through existing issues to make sure that this feature has not been requested before
- [X] I have provided a descriptive title for this issue
- [X] I am aware that even valid feature requests may be rejected if they do not align with the project's goals
- [ ] I or my company would be willing to contribute this feature
This would be great - the current 'signature help' implementation is creating the output you see here and I'd love to see PRs here to fix this horrible layout!