zed
zed copied to clipboard
Allow disable Collab Panel, Assistant Panel, Chat Panel
Check for existing issues
- [X] Completed
Describe the feature
Allow to disable Collab Panel, Assistant Panel, Chat Panel, Inline Assist in the setting, e.g.
"features": {
"collab": false,
"assistant": false,
"chat": false
}
If applicable, add mockups / screenshots to help present your vision of the feature
No response
Hey! What would be the difference to just hiding them with these shortcuts (or the commands in command palette)?
That state is sticky, so if you hide the collab panel, close and reopen Zed, it's still hidden.
There's actually a way to remove all related buttons and effectively disable the functionality too:
"collaboration_panel": {
"button": false,
},
"collaboration_panel": {
"button": false,
},
"chat_panel": {
"button": false,
},
and maybe we should have a "how to remove all integrations" docs entry that we can iterate on?
Hiding the buttons isn't enough. For example - one could ^ + ⏎
to open AI assist panel, ~~and then have no way to close it - because the AI assist button is hidden~~.
Edit: Just realized that the dock shortcuts closes the panel. I still think there should at least be a button on the UI that allows closing panels such as the AI assist.
To start with, ctrl-enter
by default does not open any panels but the assistant "modal"-ish thing, which can be closed by ESC
; assistant panel shortcut is cmd-shift-?
.
While not convenient, one could disable all those keybindings explicitly, in addition to hiding all the buttons.
So, nothing impossible to work around so far it seems, and keeping a doc entry with those to copy-paste from is still an option to start with this issue.
Hey! What would be the difference to just hiding them with these shortcuts (or the commands in command palette)?
That state is sticky, so if you hide the collab panel, close and reopen Zed, it's still hidden.
Ideally, there should be a way to remove all related buttons and effectively disable the functionality, not just hiding them.
There's actually a way to remove all related buttons and effectively disable the functionality too:
"collaboration_panel": { "button": false, }, "collaboration_panel": { "button": false, }, "chat_panel": { "button": false, },
and maybe we should have a "how to remove all integrations" docs entry that we can iterate on?
"collaboration_panel": {
"button": false
},
"chat_panel": {
"button": false
},
"assistant": {
"button": false
}
@SomeoneToIgnore will hide the buttons, but won't disable the functionality, isn't it?
As noted above, removing buttons cleans the interface, but leaves the possibility to e.g. open the related features with the keybindings. But without having those, we would not see e.g. assistant panel (so no resources are occupied by its rendering), there's no way to input things into the assistant panel and there are no background tasks related to it. Similarly, ctrl-enter is a noop when not invoked, and staying offline in the collab panel makes both it and the channels noop.
So, a bunch of json configs so far, and the issue (mentioning those 3 items specifically) seems to be solved, given the PR into the docs: now all those 3 panes do not exist (the corresponding component is not created ergo no way to capture input or focus inside) and there's no keybinding that make it to appear.
We can sure work on the usability of this approach in the future, but essentially it will stay the same, so for now, it is great to mention in the docs. Yet, apparently there's a desire to disable it even more? Could it be https://github.com/zed-industries/zed/issues/6756 then is what's needed? It has a better description of "disabling" and also a broader list which also involves copilot, ctrl-enter action, semantic project search and all future AI/ML integrations.
I agree with @fisenkodv that it should be easier to disable the various panels and assistants.
It took me some time to figure out the relevant settings when trying out Zed. Even though, there's still that magic wand icon (Inline Assist) next to to the Buffer Search that can't be hidden at all. If I accidentally click that, the panel appears and can't be dismissed because I've removed the Cmd-R shortcut.
Much tinkering for just removing features you don't need, want, or be allowed to use…
As noted above, removing buttons cleans the interface, but leaves the possibility to e.g. open the related features with the keybindings. But without having those, we would not see e.g. assistant panel (so no resources are occupied by its rendering), there's no way to input things into the assistant panel and there are no background tasks related to it. Similarly, ctrl-enter is a noop when not invoked, and staying offline in the collab panel makes both it and the channels noop.
So, a bunch of json configs so far, and the issue (mentioning those 3 items specifically) seems to be solved, given the PR into the docs: now all those 3 panes do not exist (the corresponding component is not created ergo no way to capture input or focus inside) and there's no keybinding that make it to appear.
We can sure work on the usability of this approach in the future, but essentially it will stay the same, so for now, it is great to mention in the docs. Yet, apparently there's a desire to disable it even more? Could it be #6756 then is what's needed? It has a better description of "disabling" and also a broader list which also involves copilot, ctrl-enter action, semantic project search and all future AI/ML integrations.
A bunch of configs could almost solve the problem (Inline Assistant button in the editor at the right of the magnifying glass icon still being displaying). IMO, it would be nicer/cleaner to disable the feature by setting a flag in the config.
I've disabled these using features here
In the next Preview release there will be a new setting for disabling the Assistant: https://github.com/zed-industries/zed/pull/9706.
I've applied the config suggested by @fisenkodv to try and hide all the ai/collab features
"collaboration_panel": { "button": false }, "chat_panel": { "button": false }, "assistant": { "button": false }
However, the copilot button is still visible for me...
...and I can't find any setting option to disable it. Is there a way to do this currently?
@SpicyRicecaker How about with this? It's what I have, and I don't see that copilot button:
"features": {
"copilot": false,
"inline_completion_provider": "none"
},
"collaboration_panel": {
"button": false
},
"chat_panel": {
"button": false
},
"assistant": {
"enabled": false,
"version": "1",
"button": false
},
"assistant_v2": {
"enabled": false
}
@timriley thanks for the response!
"features": {
"inline_completion_provider": "none"
}
got rid of the copilot button for me.
I believe the ability to "Right click > Hide button" for any button is paramount for fluid UX, escpecially for new people
Here is a problem with using one of the suggestions above:
"features": {
"copilot": false,
"inline_completion_provider": "none"
},
"collaboration_panel": {
"button": false
},
"chat_panel": {
"button": false
},
"assistant": {
"enabled": false,
"version": "1",
"button": false
},
"assistant_v2": {
"enabled": false
}
After doing this, move your terminal panel to the right (where the assistant panel displays by default). If you change focus away from Zed, and then return to Zed, the assistant panel opens with no prompting.
After I change focus to another application's window, and return:
it would be ideal to completely disable the features described in this issue.