-
Notifications
You must be signed in to change notification settings - Fork 28.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Should we use namespacing in the CLI #93241
Comments
I really find CLIs that use this approach much easier to use. I would be in favor of having commands like |
I personally would prefer to not introduce any more capabilities via the CLI other than:
|
@bpasero why though? Most of the proposed terminal ones (new tab, split pane, focus at/next/prev) would simply just route commands to the last active renderer so they could be built relatively easily. Extending upon this, the use case could also be enabled by a generic command CLI:
|
Why do people want to do that when it seems easier to go through the normal vscode command palette/UI? |
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. To learn more about how we handle feature requests, please see our documentation. Happy Coding! |
Couple of reasons, I personally find that when someone types On top of that, the CLI should drive the main capacity of the application, not some part within. You cannot even split the editor from the command line, so why the terminal? |
@roblourens so you could for example have an alias to split the terminal (
@bpasero That is exactly the problem this is trying to solve. We could change this:
Into this (more potential to move window management, troubleshooting into their own too):
If you're purely against driving the terminal and not namespaces in the CLI you should move your 👎 to #92031 |
@Tyriar ah sorry, makes sense. I think this could work but we need to somehow preserve backwards compatibility, no? And I wonder if this is really worth the effort, I mean it would only impact extension management and diagnostics right? Alternatively we could ship a code-ext global command (via |
@bpasero yes backwards compat is essential, so |
Back to the original proposal of doing this because people want to control the terminal via CLI, is that really a scenario people want? Are they in an integrated terminal, type |
@bpasero there's a terminal-agnostic tool that does this which is where the requests initially came from eg.
But no, I probably wouldn't use these and don't feel that passionate about championing the feature. And if we don't do that, then namespacing probably isn't a good idea until we come up with another category. |
I suggest to close this as "out of scope". |
Before starting any work, please let's agree here first. The cli already has many owners (@aeschli, @bpasero, @joaomoreno) |
@aeschli definitely 👍. This came up yesterday in standup that @connor4312 was thinking about this. Something I feel is missing is some approval process for adding new CLIs as well to ensure things are consistent, as this is similar to API. I added |
I was on the fence here, I'll remove it for now. This is one of the big benefits of actioning this issue though in that we can document these options that are important but don't warrant being in |
Yes, we need some review and approval process. Feel free to assign me as reviewer. @Tyriar We have We only want the major arguments to be listed with |
As the CLI does more things (server distro, "gateway" mode, version management, terminal work, other things in the future...) I do not think the current model of free-floating flags works very well. Note that when I say CLI here I refer to the interface exposed to users, which is eventually the Rust CLI. Currently there is top-level help for extension management and flags that only apply to extension management. Adding similar sections for all other functionality causes help to become increasingly verbose and less useful to users, and I think a This is the approach I recently took in https://github.com/microsoft/vscode-cli/pull/432 (this is exploration, not final set in stone.) That PR includes logic that handles things that became subcommands ( |
@Microsoft/vscode
#92031 is requesting a terminal CLI to enable things like creating a new tab and splitting the current tab which would align with the capabilities of many terminals (including Windows Terminal) and enable splitting a terminal tab by running a command in the terminal.
Does anyone have opinions for or against this? If we want to go with this I think we should also do the same for extensions by deprecating/aliasing the current CLI and moving them to either
code ext ...
orcode extension ...
as it keeps growing and could be better organized:The text was updated successfully, but these errors were encountered: