gobijan / nova-copilot-lsp

nova-copilot-lsp aims to provide integration with Github Copilot in Nova by Panic.
44 stars 5 forks source link

Completion UI considerations #3

Open SebastianSzturo opened 1 year ago

SebastianSzturo commented 1 year ago

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.

gobijan commented 1 year ago

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

kitsah commented 1 year ago

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?

SkelegonDK commented 1 year ago

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.

ctkjose commented 1 year ago

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.

SebastianSzturo commented 1 year ago

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

wptechnology commented 1 year ago

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 !!!

SebastianSzturo commented 1 year ago

@wptechnology PRs are welcome ;)

net-tech commented 10 months ago

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.

smastrom commented 8 months ago

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.

net-tech commented 5 months ago

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?

SkelegonDK commented 5 months ago

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, nettech @.***>, 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: @.***>

gobijan commented 5 months ago

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

realCrush commented 2 months ago

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.