nova-copilot-lsp icon indicating copy to clipboard operation
nova-copilot-lsp copied to clipboard

Completion UI considerations

Open SebastianSzturo opened this issue 2 years ago • 14 comments

Thanks for starting this project, really appreciate someone trying to port the LSP plugin from vim. (I did try a year ago and gave up! :P)

One thing I ran into while exploring this last year, is that Nova doesn't really have the same UI concepts as VSCode. The reason why VSCode's completion are so seamless are due to them being rendered as translucent comments that is easily readable and dismissable:

CleanShot 2023-04-28 at 13 32 43@2x

For Nova we really only have the Language Completion concept that might not be ideal for longer codeblocks:

CleanShot 2023-04-28 at 13 35 38@2x

Have you put any thought into this? I guess for now Language Completions is better than nothing and maybe we can get the attention from Panic to do something about this.

SebastianSzturo avatar Apr 28 '23 04:04 SebastianSzturo

Actually a good point. I thought that maybe something in the sidebar could work? What you think could work best?

gobijan avatar May 03 '23 17:05 gobijan

How about placing suggestions in both a Sidebar and the Language Completion drop-down? That way, we can see a short preview of the suggested code below our cursor as we type, then we can check for the full code block in the sidebar.

This way, we can still accept suggestions simply by using Tab, as we are used to, and we can still see the full code suggestion in a Sidebar.

A potential issue is whether or not the Sidebar supports syntax highlighting?

kitsah avatar May 03 '23 19:05 kitsah

It has to be like in VS code. But as a temporary solution I would put "Copilot" as the top completion option and show the code in the sidebar. That said, having a sidebar open ALL the time takes a lot of valuable horizontal space. However, in VS Code you have to explicitly tell VS code to generate suggestions based on a comment, and it will give you up to 10 options. What if any comment starting with (python) #COPILOT: Your prompt definition Automatically outputs in the sidebar. That way if you are the kind of person that only wants occasional suggestions, you can opt for that alone.

SkelegonDK avatar May 07 '23 08:05 SkelegonDK

Extensions are quite limited. There are currently no UI options for plugins. A sidebar is limited to a tree view which is not any better than the auto completion menu. You can use a NotificationRequest to prompt the user for a query and populate the sidebar. I honestly don't see an elegant UX and interaction.

I posted a feature request in the forum for the ability to build UI.

ctkjose avatar May 16 '23 23:05 ctkjose

I've also created a request to see if we can get a "ghost text" completion interface like VSCode: https://devforum.nova.app/t/ghost-text-for-copilot-completions/2195

SebastianSzturo avatar Jun 09 '23 04:06 SebastianSzturo

This extension is useless. Despite the lake of documentation (please it costs not a lot to add some explainations like : if you click on log in and nothing happens, you must install node AND set its path on the extension... Or if github ask for a device code it is copied to the clipboard !!!!!) Anyway, there is no suggestion, completions are always empty !!!

wptechnology avatar Aug 14 '23 16:08 wptechnology

@wptechnology PRs are welcome ;)

SebastianSzturo avatar Aug 14 '23 19:08 SebastianSzturo

That said, having a sidebar open ALL the time takes a lot of valuable horizontal space

Couldn't you just have multiple sidebars open? At the end of the day even if it takes a lot of space it is nicer than the current way it works.

avasilic avatar Oct 15 '23 13:10 avasilic

I lost about an hour trying to understand why the suggestions were not showing up until I realized (as somebody else's pointed out in this issue and in the official forum) that this is not possible within Nova.

I really appreciate the effort in building this extension but this is absolutely useless at the point that this repo should be made private and the extension "unpublished" from Nova website to avoid other people think that Copilot for Nova actually exists.

The only way to use Copilot is to have the inline suggestions like any other editor does (Sublime does a good job for example, and it's just a basic text editor).

Hope Nova's authors will eventually release some first-party Copilot integration at some point because it has become an essential feature for any editor nowadays.

smastrom avatar Dec 06 '23 23:12 smastrom

That said, having a sidebar open ALL the time takes a lot of valuable horizontal space

Couldn't you just have multiple sidebars open? At the end of the day even if it takes a lot of space it is nicer than the current way it works.

@SebastianSzturo Any thoughts on this suggestion? Maybe it could be a config option?

avasilic avatar Mar 01 '24 21:03 avasilic

Honestly, at this point Novas UI would have to be completely reworked to enable a compelling number of copilot features. In-line suggestions are fine, but it won’t me make pay for another year. I love Nova, but lack of actual development is very disappointing. On 1 Mar 2024 at 22.34 +0100, net_tech_ @.***>, wrote:

That said, having a sidebar open ALL the time takes a lot of valuable horizontal space Couldn't you just have multiple sidebars open? At the end of the day even if it takes a lot of space it is nicer than the current way it works. @SebastianSzturo Any thoughts on this suggestion? Maybe it could be a config option? — Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you commented.Message ID: @.***>

SkelegonDK avatar Mar 02 '24 12:03 SkelegonDK

Yeah I agree. Not willing to bet on a closed source product that is semi maintained.

gobijan avatar Mar 02 '24 12:03 gobijan

Are there any progress on this issue? Is it possible to have a similar experience to Copilot in VSCode by 2024? Honestly, I don't understand why AI auto-complete, a very important and basic function today, is still not being supported by Nova Team. It really affects user experience.

realCrush avatar Jun 15 '24 13:06 realCrush

Beta for Nova 12 has been released. Is there a suitable API added? https://nova.app/releases/

andreiborisov avatar Oct 16 '24 21:10 andreiborisov