TabNine icon indicating copy to clipboard operation
TabNine copied to clipboard

Full Line completions - user feedback

Open dimacodota opened this issue 2 years ago • 21 comments

Please share your experience with the Full Line completions feature

gz#4743

dimacodota avatar Aug 04 '21 20:08 dimacodota

I can't enable this feature in my machine. The checkbox doesn't work.

image

maikol-solis avatar Aug 13 '21 16:08 maikol-solis

Can you try doing the following?

  • Turn off all of your ides in which Tabnine is installed
  • Kill all Tabnine processes - these are their names: TabNine, TabNine-deep-local, TabNine-deep-cloud, WD-TabNine
  • Make sure no Tabnine processes are running
  • Re-open your ide and try check the checkbox again

yonip23 avatar Aug 13 '21 20:08 yonip23

Can you try doing the following?

* Turn off all of your ides in which Tabnine is installed

* Kill all Tabnine processes - these are their names: `TabNine`, `TabNine-deep-local`, `TabNine-deep-cloud`, `WD-TabNine`

* Make sure no Tabnine processes are running

* Re-open your ide and try check the checkbox again

I did all the steps and still I cannot enable the option.

This is my config

Installation
IDE: emacs
Plugin Version: Unknown
Engine Version: 3.5.44-40
Config file path: /home/maikol/.config/TabNine/tabnine_config.json
Engine file path: /home/maikol/.TabNine/3.5.44/x86_64-unknown-linux-gnu/TabNine
Active Local Model: ce94127b
Local Models Directory: /home/maikol/.local/share/TabNine/models

maikol-solis avatar Aug 13 '21 20:08 maikol-solis

Can you attach here you config file? I.e Config file path from you installation info

yonip23 avatar Aug 13 '21 22:08 yonip23

{
  "version": "3.3.96",
  "hide_promotional_message": false,
  "beta_enabled": "Yes",
  "ignore_all_lsp": false,
  "creation_time": "2021-03-17T11:47:02.637538848Z",
  "guuid": "2585b9c76df90bfb52c1690b2b722912af9e6253b6b5db7d66c9f35930b76749",
  "semantic_status": {
    "org": "Suppressed"
  },
  "enable_telemetry": true,
  "user_understands_that_enabling_tabnine_cloud_sends_code_to_tabnine_servers": true,
  "hosted_deep_completions_enabled": "Enabled",
  "tabnine_cloud_host": null,
  "tabnine_cloud_certificate_domain": null,
  "tabnine_cloud_port": null,
  "cloud_whitelist": [],
  "num_of_suggestions": 3,
  "line_suggestions": false,
  "multiline_suggestions": true,
  "omit_prefix_suggestions": true,
  "api_key": null,
  "api_base_url": null,
  "binary_update_interval_seconds": null,
  "local_enabled": "Yes",
  "disable_local_when_using_battery": true,
  "hide_deep_information_message": false,
  "enable_power_saving_mode": true,
  "rate_limit_interval_seconds": null,
  "rate_limit_amount": null,
  "generation": 40,
  "local_model_size": null,
  "model_hash_override": null,
  "local_indexing": null,
  "heartbeat_interval_seconds": null,
  "last_service_level": "Cloud",
  "override_beams": null,
  "override_context_length": null,
  "onboarding": {
    "model_type": null,
    "skipped_login": false,
    "completed": false
  },
  "has_git_repos": null,
  "gusr": {
    "dgc": "2585b9c76df90bfb52c1690b2b722912af9e6253b6b5db7d66c9f35930b76749"
  },
  "exclude_file_masks": null,
  "inline_suggestions_mode": true
}

maikol-solis avatar Aug 14 '21 00:08 maikol-solis

Let's try to set line_suggestions to true and re-open the hub, this is the property that's behind the full lines checkbox.

Thank you for your cooperation btw, appreciate it!

yonip23 avatar Aug 14 '21 08:08 yonip23

Setting the option manually worked

image

Thanks for the help.

maikol-solis avatar Aug 14 '21 13:08 maikol-solis

I never get full lines even if it is enabled and I don't really know why.

Toqu95 avatar Aug 14 '21 13:08 Toqu95

Setting the option manually worked

image

Thanks for the help.

Looks like its a bug in the UI somewhere. We'll handle it asap, thanks for pointing it out!

yonip23 avatar Aug 14 '21 14:08 yonip23

I never get full lines even if it is enabled and I don't really know why.

Don't you see any difference when you turn on/off the full line completions?

Can you share your experience in a bit more details?

yonip23 avatar Aug 14 '21 14:08 yonip23

For the moment I haven't seen any big difference. Maybe my opinion is a little biased because I write mostly prose.

maikol-solis avatar Aug 21 '21 17:08 maikol-solis

How to accept the full line suggestion? The forward arrow key is not working on mac...

gadelkareem avatar Sep 02 '21 10:09 gadelkareem

I can't seem to see this makes a huge difference to my React Typescript project - it's definitely not as impressive as the demo image on the recent email. It also seems quite hit and miss. Immediately after activation it seems to predict a whole line, then the very next time you "dot" the db, it suggests a much smaller scale: Just after ticking the full line box: Just after activation Next time you try to "dot" the db var: Next dot

Just after disabling: Disabled

Next time you dot the db var with full line disabled: Dsiabled after next dot

My settings My settings

Any ideas why this is so finicky?

Can't quite work out if it's better with Cloud disabled or not?

RichardBosworth avatar Sep 02 '21 14:09 RichardBosworth

Quite useless right now.

  1. Never got usefull full line suggestion. Using it since feature introduction in 2 150k+ lines projects on a daily basis.
  2. always gets as first in the list of suggestions, hindering usage of shorter but at least somewhat useful suggestions.
  3. inserts line breaks, structure(e.g. dict/obj) endings(like }), making your file jump where you didn't expect it to. Also doesn't let you finish the structure yourself.

iMakedonsky avatar Oct 13 '21 15:10 iMakedonsky

@iMakedonsky Thank you for your feedback, really helps us get better!

  1. Never got usefull full line suggestion. Using it since feature introduction in 2 150k+ lines projects on a daily basis.

Could you please provide us with your machine spec as well as the information presented in the "installation info" section in the hub?

  1. always gets as first in the list of suggestions, hindering usage of shorter but at least somewhat useful suggestions.

What would you define as a better experience in that sense? Ordering Tabnine's suggestions differently? Getting the full line suggestions separately from the regular ones somehow? (Maybe with a different icon / even a different keybind)

  1. inserts line breaks, structure(e.g. dict/obj) endings(like }), making your file jump where you didn't expect it to. Also doesn't let you finish the structure yourself.

I'm not sure I fully understand what you mean by jumping where you wouldn't expect, if you could provide us with screenshots / more detailed explanation we'd appreciate it.

Again, thanks for reaching out, have a good one :)

yonip23 avatar Oct 15 '21 18:10 yonip23

@RichardBosworth I'm so sorry for not getting back to you in a month, your reply is very helpful!

I see that you got a pretty long suggestion in you first "dot", and if I understood correctly you're deleting the "." and typing it again, right?

If so, this behaviour is to be expected from Tabnine the way it works currently, but your feedback is touching an ongoing discussion we currently have in the dev team. So thanks again for your input!

yonip23 avatar Oct 15 '21 19:10 yonip23

@yonip23

Could you please provide us with your machine spec as well as the information presented in the "installation info" section in the hub? IDE 1: https://gyazo.com/53612e6c35cf887a65dfb004ad344b78 IDE 2: https://gyazo.com/3d8e1a8c314d4fe8eb18f3c43926a5f5 Macbook pro 15" 2018, i7 6cores-12 threads, 16gb ram. Cloud model enabled.

  1. always gets as first in the list of suggestions, hindering usage of shorter but at least somewhat useful suggestions. What would you define as a better experience in that sense? Ordering Tabnine's suggestions differently? Getting the full line suggestions separately from the regular ones somehow? (Maybe with a different icon / even a different keybind)

So, usually, experience looked like that: I start typing some line, then I want to finish enum member usage via autocomplete, tabnine at first gives you his simple guesses which look correct, then when I press enter to use the first one – there's a gap in time between suggestion seen and "return" pressed. During this gap full line suggestion appears as 1st suggestion, resulting in using not what I expected.

The result is some more code at the end of the line I didn't need + line breaks(e.g. \n + }; etc), which I now have to correct, wait for suggestions, and select a plain one from IDE.

Imho, full line suggestions should be in a separate block of suggestions, used via a different hotkey than plain "return". Also, you never see the whole thing tabnine is going to add to your code. Only simple 1-2 words. Then you get a whole bunch of code you didn't expect it to add.

  1. inserts line breaks, structure(e.g. dict/obj) endings(like }), making your file jump where you didn't expect it to. Also doesn't let you finish the structure yourself.

I'm not sure I fully understand what you mean by jumping where you wouldn't expect, if you could provide us with screenshots / more detailed explanation we'd appreciate it. https://gyazo.com/9a4af944f0688ad689a0b75dbc6288ca

  1. Tabnine just adds a line break between the wrapper block and child block(say if-else + their bodies) – it doesn't match the indentation level you have. Also, it doesn't add commas for (for methods/properties) of an object in javascript Result is: after using a suggestion you end up with everything being red, offset and sometimes broken braces. Now you have to carefully look at the code to fix that, or press cmd-Z to type everything yourself.

iMakedonsky avatar Oct 16 '21 09:10 iMakedonsky

@iMakedonsky

I'm not familiar with the behaviour you described regarding the "gap in time" in which more suggestions are added to your completion pop-up - if you can record your screen and reproduce it so I can see exactly what's going on there that'd be great.

As for the wrong indentation / line breaks - Tabnine shouldn't suggest you line breaks (and thus neither indentations) unless you enable multiline suggestions. Can you share your config file here? (Feel free to censor out every information you don't feel comfortable sharing here)

Also, the screenshots you provided of the installation info are missing the active model hash you're using - if you could share those here too that'd be great

Thanks a lot!

yonip23 avatar Oct 16 '21 10:10 yonip23

Hi just wondering what the difference is between this and the other setting, "Take a long shot: Longer code predictions for a faster workflow". Do they both work together or does one override the other? And what are the other differences actually?

CoolOppo avatar Nov 03 '21 01:11 CoolOppo

Being serious, I haven't noticed any difference in more than a month using this feature (only the RAM and CPU eater) , also enabled beta versions. using Typescript, the projects aren't giant, but still have some considerable lines of code.

paulocwb avatar Dec 17 '21 22:12 paulocwb

Is there any documentation for the API for this? I use neovim and coc.nvim doesn't support this. I'm considering implementing it myself but I couldn't figure out how.

realSaltyFish avatar Sep 02 '22 14:09 realSaltyFish

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

stale[bot] avatar Nov 02 '22 09:11 stale[bot]