Uh oh!
There was an error while loading. Please reload this page.
[WIP and Blocked] Inline hints for F# - #10295
Conversation
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
6f5ecfc to
88664d6Comparekerams
commented
Nov 4, 2020
What about hints for multi-line piping? Could come in handy when doing a complex transformation of a collection with group bys, collects, etc., or piping values of combined monads like Async and Result. |
cartermp
commented
Nov 4, 2020
Pipeline hints might be nice, but we'll see. I don't want to introduce too much scope creep into this one since it's a pretty big PR already. |
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Co-authored-by: Chet Husk <baronfel@users.noreply.github.com>
KevinRansom
commented
Nov 16, 2020
cartermp
commented
Nov 20, 2020
Holding off on this one. Wiring up settings is going to require more plumbing of APIs through our Roslyn external access layer. |
kerams
commented
Jan 23, 2021
Is there no way to release this in VS preview as an experimental feature with the only setting being on/off for now? |
cartermp
commented
Jan 23, 2021
There is, but there would be no toggle. It's annoying to code with unless you have a quick keyboard toggle. |
nosami
commented
Jan 25, 2021
Looking forward to seeing this in VSMac! |
baronfel
commented
Mar 31, 2022
thoughts on slicing off the FCS parts of this so that FSAC can get at this? |
cartermp
commented
Apr 1, 2022
I think it should be pretty simple to do. In fact, I think some of what's in here is already in FCS now (more or less), so that would reduce the diff for sure. I won't speak for @vzarytovskii or @KevinRansom but I think it's quite reasonable to split those changes out. |
baronfel
commented
Apr 1, 2022
I've actually been experimenting with your editor-level work in FSAC/Ionide this evening, and I can say it works brilliantly! The big gap is methods and their parameters, because that's where you added all the supporting infrastructure. |
vzarytovskii
commented
Apr 1, 2022
Oh yeah, 100% agree, we should probably split it into smaller parts. |
baronfel
commented
Apr 1, 2022
Link to ionide version is here for those that want to see what it looks like |
dsyme
commented
Apr 5, 2022
@cartermp Do you think you could bring this up-to-date? It's a good feature |
cartermp
commented
Apr 5, 2022
Yep, defer to @baronfel's work here |
Example showing type and parameter hints (functions and methods):
Note the following behavior:
let-bound will have a type hint, but otherlet-bound F# functions will notGeneral checklist:
SynExpr.Typed... or something along those lines[x; y; rest]in a list pattern. Theyandrestare already implied by whateverxis. I guess we can make a call on if that matters or it's better to just show it for each thing. The latter is less work of course. Maybe if the value is a literal we shouldn't show it either?let ranchItUp x : string = string xOut of scope
_in a pattern (Nope - this can be done orthogonally and also support quickinfo)