Vscode: Create an option to position the intellisense parameter info top or bottom.

Created on 3 Sep 2017  Â·  73Comments  Â·  Source: microsoft/vscode

Currently the parameter info tooltip is always placed above the cursor. This is often quite annoying since it completely blocks code in the above lines and you sometimes need to look at your context to know what values to give the parameters.

Example:
image

editor-parameter-hints feature-request

Most helpful comment

@joaomoreno, sorry. I addressed the ctrl suggestion earlier.

You also didn't address my point about disabling. Why don't you simply disable parameter hints?

I don't want to disable them, because they are useful to me sometimes.

no matter where it will be positioned, it will overlay text. You happen to give more importance to the text above the cursor; others to the text below it.

Yes, but the IntelliSense tooltip shows below the cursor by default and this is very common among code editors and IDEs with code hinting capabilities. Why should the parameter info tooltip be different?

I am asking for an OPTION to modify its placement, not to place it below for everyone.

The reason for my preferring the tooltip to be below is:

  • IntelliSense is already shown below
  • You write code from top to bottom. You don't want a huge tooltip covering up your context. The most useful context that will help you keep track of what you are doing is probably going to be correlated by the order of execution of your program (usually top to bottom).
  • Some examples of what context I mean:

    • What was the name of the variable I needed to pass as a parameter here?

    • If I am writing my parameters in a multiline format, I want to look at what parameters I already gave.

    • What method am I calling on what object?

    • Where am I at currently?

All 73 comments

In Visual Studio, hold Ctrl for a while, the tooltip will dim down to let me see through it.

I think it's better than changing the position via a config.

Thanks. I never need it to be above the cursor. Pressing ctrl every time sounds unnecessary.

I seriously have to hit Esc every time this tooltip pops up. It is probably the most annoying thing to me about VSC.

Do you know if there is a way a plugin could fix this?

The problem with positioning it down is what happens to Intellisense? Should it then go up?

The Ctrl idea is something that we've brought up every now and then, we should just implement it.

@rhyek Most people how are annoyed by it simply disable it.

I have never seen an instance where both tool tips are shown at the same
time. Once you pick a method from intellisense, it is hidden and parameter
info appears.

On Sep 22, 2017 4:17 AM, "João Moreno" notifications@github.com wrote:

The problem with positioning it down is what happens to Intellisense?
Should it then go up?

The Ctrl idea is something that we've brought up every now and then, we
should just implement it.

@rhyek https://github.com/rhyek Most people how are annoyed by it
simply disable it.

—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/Microsoft/vscode/issues/33752#issuecomment-331409095,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAq5yryjXGI6krrtllRWSogjqHsXt06Wks5sk4ksgaJpZM4PLPTK
.

When parameter hints is open, simply trigger Ctrl Space.

This issue has been closed automatically because it needs more information and has not had recent activity. Please refer to our guidelines for filing issues. Thank you for your contributions.

Seriously?

On Oct 2, 2017 1:52 AM, "vscodebot[bot]" notifications@github.com wrote:

Closed #33752 https://github.com/Microsoft/vscode/issues/33752.

—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/Microsoft/vscode/issues/33752#event-1273534665, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAq5ylAgUCpPbqYYPVunkcQHfw2xz3sWks5soJYfgaJpZM4PLPTK
.

Can this please be re opened? It had activity 7 days ago and I'm not sure what additional information is needed. Probably just and over eager configuration on the bot.

The issue was closed because you didn't reply to my last message:

When parameter hints is open, simply trigger Ctrl Space.

You also didn't address my point about disabling. Why don't you simply disable parameter hints?

Ultimately, you can imagine the solution isn't as simple as changing the positioning; no matter where it will be positioned, it will overlay text. You happen to give more importance to the text above the cursor; others to the text below it. And text isn't even the biggest problem. It's other widgets, as I already mentioned above.

@joaomoreno, sorry. I addressed the ctrl suggestion earlier.

You also didn't address my point about disabling. Why don't you simply disable parameter hints?

I don't want to disable them, because they are useful to me sometimes.

no matter where it will be positioned, it will overlay text. You happen to give more importance to the text above the cursor; others to the text below it.

Yes, but the IntelliSense tooltip shows below the cursor by default and this is very common among code editors and IDEs with code hinting capabilities. Why should the parameter info tooltip be different?

I am asking for an OPTION to modify its placement, not to place it below for everyone.

The reason for my preferring the tooltip to be below is:

  • IntelliSense is already shown below
  • You write code from top to bottom. You don't want a huge tooltip covering up your context. The most useful context that will help you keep track of what you are doing is probably going to be correlated by the order of execution of your program (usually top to bottom).
  • Some examples of what context I mean:

    • What was the name of the variable I needed to pass as a parameter here?

    • If I am writing my parameters in a multiline format, I want to look at what parameters I already gave.

    • What method am I calling on what object?

    • Where am I at currently?

In the image I gave as an example, the tooltip completely covers up three previous lines of code. It often feels like I'm writing code blind when this happens.

As I suggested in issue #35596, other possible UI solutions exist other than anchored to the text.

Other possible config options or solutions might be to have the pop up displayed in a fixed location when triggered by typing (E.g. the upper right corner of the editor window) because sometimes I need to refer to the code below as well :)

or you could even imagine a documentation pane that can display contextual documentation without any overlay at all, such a thing could take precedence vs the overlay, if open.

This is also an issue for me. My impression is:

1) I don't need to see parameter hints all the time. (Does anyone do?)
2) If showing all the time, anywhere you show will be invasive and distracting. (Unless you put in the footer of the editor, maybe?)
3) Why not just allow users to disable them and have a keyboard shortcut to show a hint only when needed? In that case, it wont matter if it is above or bellow.

This is an issue for me. Just recently started experimenting with VSCode from Atom. While I really enjoy using VSCode, this annoys the heck out of me as it covers all the code above and doesn't feel consistent with the method intellisense. I'd love to see an option to place this below the current line. Thanks for your hard work!

I filed similar issue some days ago, @ramya-rao-a sent me this link, so I'm linking my issue also here. https://github.com/Microsoft/vscode/issues/42937

@rhyek , actually this should be configurable, so if someone needs it above, s/he will leave it untouched, and people like us who need it below will configure it to go below.

Would it be possible to make the pop-up to avoid the mouse cursor? Or have the preview dismissed on a click?

I understand why that might not be the default behaviour, as it would break the ability to scroll through larger previews, and in some cases select text inside of it:

hover-scroll2

hover-scroll

Although I think having a preview that big is a bug anyway - opened #44928 for that.

By the way, is that text selection a feature or a bug? I guess one preview comes from type inference, the other from JSdoc, but the behaviour and styling is inconsistent between them.

If the ability to select text in the type-inferred pop-up isn't a feature, then perhaps clicking could dismiss/move the pop-up? Currently clicking does _nothing_ with type annotation previews, which actually is a little frustrating. Either make it select the text or dismiss it, but at least give it a purpose.

hover-cursor

TLDR; +1

I absolutely support these ideas for improving intellisense. I have recently switched from Brackets to Atom to VSCode, and I love VSCode for it's amazing built in intellisense. But it does start to feel a lot like the old MS Word CLIPPIE. Sorry if I triggered some haunting memories of past.

This is kind of like the Chrome DevTools window (stretching the comparison ever so slightly). By default it opens within the same window, effectively crushing your browser view with all the information provided. But, you have the option to pop out the window into it's own. The only problem I have with this is when I am switching between many open windows, if the DevTools window would be able to be focused the same time as the browser window, I would be so happy. If certain tools in VSCode could pop out, in a manageable, clean way, I would use it for sure. I also like the idea of using the mouse click to drag the window.

I'm still a young developer, hopefully, I can contribute more soon to the actual development of these tools.

When the tooltip appears on top of the code it's really jarring. I would love to see it places in a better location.

image
tooltip

Love the idea of having this in a documentation pane instead of inline. I'm encountering this issue and a doc pane seems to make the most sense.

Yes, brilliant! Please make a documentation pane option. I would let it enabled all the time and it wouldn't annoy me at all. I love hints but they are so annoying if they overlay text.

I have created a new issue for this idea here: https://github.com/Microsoft/vscode/issues/51253

I honestly think that the only thing that's so frustrating about the current positioning is that, a lot of the time, I want to refer to the line above the one I'm typing on. What I've noticed about the other code-editor I use, Oni, is that the positioning of the parameter-list popup and the like is just higher by that one extra line, which is a subtle, and at the same time huge difference!

@tomboland I really like that idea. Not sure if it is the best solution, but it makes sense.

+1 to moving this anywhere other than directly above the current line. It's a bad design choice. Working with any decently documented library means this thing eats up 8 or 9 lines of code above the current line.

We've known for a long time that temporal and spatial locality are a thing. I want to reference nearby lines, and lines that I've edited recently (which are usually nearby, and most often right above the current line). Don't freaking hide those from me.

It's incredibly jarring. Honestly, the lines above the current code are almost always more valuable than the hint. Until this is changed I have this feature completely disabled. Which is a shame, because it's a very cool feature, the positioning just sucks.

+1 to have an option to set it to be below current line instead of on top of current line. It is very annoying as current lines reference lines before and them being covered up is very annoying.

If you're in a method or function, the entire meaning of what you're typing is 100% dependent on the code ABOVE the cursor, not the code below it. Very rarely is the code beneath the current line relevant to that line, but the code above it almost always is.

We could also have the tooltip and intellisense stack below the cursor.

i could also imagine to have to suggestions always popup on one fixed position (e.g. bottom right corner of the window) as opposed to following the current cursor position in any way.

Doesn't have to be too complicated: Top right editor corner if that's where the cursor is not, otherwise bottom right corner.
Should apply to everything that opens in the editor and hides content below.
Options for both the default position and the fallback position would be a nice bonus.

I mean how is that not fixed !! Atom does it right . This is beyond ridiculous.

capture d ecran le 2018-11-11 a 10 36 11

Same issue here. Need to find a way to move the hint below the current line.

+1 SO ANNOYING.

Trying to referance the previous line 99% of the time, cockblocked by it constantly.

PLEASE add the option to move it below the cursor, aka where it should be.

+1
Not only parameter hints covers the code,
it also caught my arrows keys, this is a huge problem.

Can someone make a shortcut for parameter hint such that we can opt-in to make it show, instead of just enable/disable?

+1
As a way out, perhaps it could have some opacity? so that we can read through. I mean, if positioning it under the cursor is so hard.

This is an issue for me too. Option to customize tooltip default position would be really nice.

+1

How is this still a thing?

Please allow us to offset the tooltip with CSS. Some minor relative positioning edits could do it.

+1

I took the survey and pretty much begged for this to be the one thing they fix!

+1

Can we do what spacemacs+typescript layer does? They just put all the tips into a minibuf at the bottom of the screen. It collapses completely if there's no info. I'd love this so much, even if we had to install an add-on to get the feature.

Screen Shot 2019-07-16 at 2 04 26 PM

hey you microsoft tell me you're working on this

I really can't deal with this level of bullshit. Fuck you Visual Studio Code. Let me disable this altogether.

ask for a refund.

On Thu, Aug 22, 2019 at 10:14 AM xproofx notifications@github.com wrote:

I really can't deal with this level of bullshit. Fuck you Visual Studio
Code. Let me disable this altogether.

—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/microsoft/vscode/issues/33752?email_source=notifications&email_token=AABFS4LBECURF7DEWJ4GRY3QF2UONA5CNFSM4DZM6TFKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD45NGRY#issuecomment-523948871,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AABFS4OICD2ODOYERCASELTQF2UONANCNFSM4DZM6TFA
.

I seriously have to hit Esc every time this tooltip pops up. It is probably the most annoying thing to me about VSC.

Do you know if there is a way a plugin could fix this?

Yes, change to Atom Editor hahaha.

If you scroll down so the line of code you're typing is at the very top, the tooltip does appear under it, but of course you now can't see the line above as it off the screen. We just need a "show the godamn tooltip below the line all the time" tickbox/boolean. MonoDevelop used to do this brilliantly years ago.

This is also my one complaint with VS Code currently. I love the suggestion of just offsetting it upward by one line. That would help tremendously. Why we can't have options around this tooltip is a mystery to me.

Any solution yet??

Two years and still not fixed. I've uninstalled vscode and moved to Geany IDE which DOES this already, but to be fair, so does Sublime, Atom, MonoDevelop and more.
screenshot from Geany IDE displaying parameter list BELOW where I'm typing <- see, it's really easy to do.

Anything happening on this front?

This has to be a feature ordered directly by the Powers That Be, otherwise this level of silliness is hard to explain. How difficult is this to fix? If you can't move it, make it transparent!

I love you VS Code, but this is a total UX bug, and my boyfriend probably gets mad at me 800x per day every time that tooltip pops up, because I recommended he try VS Code. We're all programmers here, most of us have built our share of tooltips — so we know it's not impossible to move that thing somewhere else.

So then it seems there must be some kind of moral or philosophical objection to it at this point? Is it supposed to help us cultivate mindfulness, being aware of the context of our code at all times?

Just tried vscode and was loving it until this issue began to frustrate me. Seeing this simple issue ignored after so long has really killed my enthusiasm for the product.

Just in case though, the suggestion of moving it up by one line wouldn't be good enough for me. I often need to see quite a few lines above.

Aligning it to the right of the screen, putting in a seperate pane or even just letting me drag it to a place I like would all suit me fine.

As a work around you can disable parameter hints in settings.json
"editor.parameterHints.enabled": false
You can then press Ctrl+Shift+Space to make them popup when you need them.

This sucks, but one workaround is add

"editor.parameterHints": false,

to settings.json, and use the editor.action.triggerParameterHints shortcut key when you need parameter hints. ctrl+shift+space by default

In Visual Studio, hold Ctrl for a while, the tooltip will dim down to let me see through it.

I think it's better than changing the position via a config.

@yume-chan can you still dim it with control? Not working for me.

There is a similar issue #30797
Here is its last message:
"This feature request is now a candidate for our backlog. The community has 60 days to upvote the issue. If it receives 20 upvotes we will move it to our backlog. If not, we will close it."

There are 25 days left at the moment. Let's upvote!
Note: upvote the original comment, not the vscodebot comment

This is important, get voting! Putting it below the cursor is better than nothing!

@nwg

can you still dim it with control? Not working for me.

I mean Visual Studio, not Code. I'm not using Visual Studio recently so I'm not sure if it's still in.

After reading the whole thread, I still don't understand why it is a challenge to place to pop-up below the cursor as most editors do and I would appreciate any additional insights into it. Maybe someone could just roughly describe the steps to accomplish this? However, if it is really an unsolvable problem, then I would like to point out this suggestion, which is also fine for me: https://github.com/Microsoft/vscode/issues/33752#issuecomment-425626433.

My current workaround is disabling the popup and triggering it manually, as https://github.com/Microsoft/vscode/issues/33752#issuecomment-568530834 describes. Another dirty solution is to make the popup transparent, similar to https://github.com/Microsoft/vscode/issues/22439 but I don't like this approach either.

A configuration option would be the way to go:

  • Above (current behavior)
  • Below (rhyek's requested behavior)
  • Configurable fixed location

I'd love it if these were always visible in the upper right-hand corner, for instance.


For now, though, I do what philn16 said: Set editor.parameterHints.enabled to false and use Ctrl+Shift+Space (or whatever you have editor.action.triggerParameterHints configured to) when you want the hints. Verbose version:

  1. Go to File > Preferences > Settings (Ctrl+J)
  2. Type parameterhints
  3. Untick Editor > Parameter Hints: Enabled
  4. Use Ctrl+Shift+Space (or whatever you have editor.action.triggerParameterHints configured to) when you want the hints.

It's a huge bummer to have to disable such a cool feature simply because there's no way to configure the position of the popup. Sigh. Oh well. Moving on...

Strange that this is still an issue when all other popup style info boxes can have their transparency changed. Why hasn't the parameterhints box been given this change also? Seems like a lack of consistency doesn't it?

September 3rd is this bug's 3rd birthday, I plan on making a cake for it. I will only be providing the ingredients though, you will have to compile it yourself. It's 3 now, but it won't be long before it's off to school, then college...where do the years go?...

This seems like a pretty annoying papercut. It's part of why we addressed the nuisance of , triggering signature help in object literals in https://github.com/Microsoft/vscode/issues/51731.

That said, there's a few things I could imagine:

  • a smarter heuristic so that when signature help is displayed and Enter is hit, signature help moves from the top to the bottom. This ensures you can glance back at whatever you already wrote.
  • a key combo to toggle signature help from the top/bottom at a given point in time.
  • maybe the option described here

A bar/panel at the bottom of the editor that would appear with no delay could do the trick too.

But with the new flexible layout released in may 2020, a parameter info view that one can move everywhere would be nice too. Maybe a new activity being oriented towards code documentation that would implements the current parameter info tooltip as well as other documentation aggregator like DevDocs would be nice and complete.

I have a workaround to have access to this info tooltip without being annoyed by them. I explain it here #102198 because this highlighted another bug.

Here are other related issues more or less duplicate : #51253, #16221 (an awesome feature suggestion), #15667, #30797, #63144.

Happy 3rd birthday 33752 ! How the time flies, before we know it, you'll be off to college...having your own little bugs...

Just to confirm, based off https://github.com/microsoft/vscode/issues/33752#issuecomment-331409645, I can assume most people who want this setting would be ok with the parameterHints widget being covered by the Intellisense widget temporarily, like in the recording below:

Klaq2BUJ39

Boggles my mind that an option for positioning is still not available. Call me weird, but I find it so annoying, I'm going back to JetBrains products. Seems VS Code devs are being incredibly stubborn around this...despite regularly providing tons of great updates otherwise. Oh well.

+1

My joke comment above was marked as spam. I've uinstalled VScode and intstalled Jetbrains Rider, it has this feature already. You can make a free buggy IDE or you can make a non-free IDE that is fit-for-purpose, it seems. Still subscribing to this bug, because I want to see how it ends and when it ends.

Please let us configure this pop up. It is so distracting!

A monstrosity like the one in my screenshot below is going to be super annoying and distracting no matter where in the editor you render it. In these cases, where the contents are this illegibly formatted and even truncated, I'd rather have this tooltip dynamically not show at all.

paramhints

I feel like occurrences of this have steadily grown alongside the popularity of string literal union type guards for function params. In my screenshot this was spawned by a very simple but strictly typed object value accessor for a CSS in JS library.

Posting here to add my support for this issue. This pop-up often blocks my code and it's not configurable at all. It would be awesome to see some configuration options added to this pop-up or a key to press to make the pop-up translucent. Thank you!

Was this page helpful?
0 / 5 - 0 ratings