Skip to content
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

Change Tree View to SCM status menu like Git extension #145

Closed
3 tasks
rogermparent opened this issue Mar 11, 2021 · 4 comments · Fixed by #150
Closed
3 tasks

Change Tree View to SCM status menu like Git extension #145

rogermparent opened this issue Mar 11, 2021 · 4 comments · Fixed by #150
Assignees
Labels
discussion priority-p1 Regular product backlog

Comments

@rogermparent
Copy link
Contributor

rogermparent commented Mar 11, 2021

Currently, we use a very simple Tree View to launch commands in our extension.
tree-view

The built-in Git extension uses a context menu for this purpose
context-menu

Considering DVC is an SCM tool similar to Git, it may be a good idea for us to take heavy inspiration from the Git extension for our extension's UI. Commands like the Webview invocation can be run from both a context menu and the command palette.

Removing the Tree View also means removing the view container it's currently located in, unless we add something else that uses it. We may re-add it if this extension's functionality expands in the future, but a whole Tree View seems unnecessary for SCM and a Webview.

The SCM context menu docs are here

Tasks

  • Add DVC SCM with context menu
  • Remove Tree View
  • Remove View Container
@rogermparent rogermparent added priority-p1 Regular product backlog vscode labels Mar 11, 2021
@rogermparent
Copy link
Contributor Author

rogermparent commented Mar 11, 2021

A question for anyone who uses VS Code to manage Git:

  • How do you interact with Git within VS Code?
  • Do you use this context menu for things like pushing with Git?
  • Is there a keybind you commonly use to interact with Git in VS Code?

The answers to these will help us design how we want users to interact with our extension.

I don't use VS Code a whole lot myself, and when I do I usually use the terminal for Git commands, so I'm unfortunately pretty lacking in this info.

@mattseddon
Copy link
Contributor

Relates to #137.

@mattseddon
Copy link
Contributor

  • How do you interact with Git within VS Code?

Mostly through the SCM view:
image

This helps me keep an eye on how many files I may change for the current commit.

I do also rely on the explorer view for the status of files:
image

The above screenshot shows a single modified file and a lot of ignored folders. This is also a very handy reference point. I believe this is done through the FileDecoration class that has recently been added to the public vscode API. I have found references to it inside of the vscode code base but this will need a lot more investigation. I think it is something that we need to invest in.

  • Do you use this context menu for things like pushing with Git?

No I use the terminal as I feel it's quicker but I have worked with several colleagues who all use the SCM view to push / pull. I would say that is a common use case. My use of vs code is definitely outside of normal.

  • Is there a keybind you commonly use to interact with Git in VS Code?

Yes ctrl+shft+g takes me into the commit message text box in the SCM view (see cursor):
image
I then enter the commit message and hit cmd + enter before using ctrl+backtick to go to the terminal and push. Again, I am not sure how many people will use the IDE in this exact way. Everything else I do through the terminal.

@rogermparent rogermparent self-assigned this Mar 11, 2021
@shcheklein
Copy link
Member

сс @iterative/engineering (for those who have VS Code experience)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
discussion priority-p1 Regular product backlog
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants