-
Notifications
You must be signed in to change notification settings - Fork 29
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
Story: Add basic support for files tracked by DVC #137
Comments
@itsmesean there will be some research involved up front. Please let me know if anything is unclear or if you need help with anything. Happy to answer any questions that you have. |
Currently leaning on implementing a tree view within the file explorer before going the scm route. What I have could also be place within the current The file tree is pretty standard aside from the way it gets the initial directory and subdirectories to parse. Adding commands in the form of buttons/context menu items is very doable from here. If anyone notices a fatal flaw in this approach feel free to enlighten me, there is so much about dvc I am unware of. |
Should we default to only listing dvc tracked items from |
What will the workflow look like for a user? How would they
I would stick to only DVC tracked files for now but should be able to answer better with your first answer. |
@rogermparent curious if you have a preference towards any of the potential approaches, or have insight to what a user would find most useful. |
@mattseddon @rogermparent @shcheklein
The value of a fully featured scm provider for DVC in vscode is pretty clear. With that said, if there is value to be had in another treeview, either in the |
Sorry for the late response, I started one and got sidetracked part-way through Since DVC CLI is, from what I understand, designed to be similar to Git, it stands to reason the SCM API is a perfect fit for most of DVC's per-file functionality. For repo-level actions like push and pull, our first implementation was using a Tree View, but that was just because its stub was conveniently editable in the project's bootstrap. The Git plugin uses the context menu (the The SCM API and the menu seem to be able to encompass all the functionality of DVC we'd want in this extension for now, so it may actually be best to drop our current treeview and switch to an SCM view. I still need to review that API, I'll report back after I do. |
I think having an explorer tree view of all of the folders / files tracked by DVC would be valuable but a secondary concern and not a priority. It would help users see (at a glance) all of the files that are currently tracked by DVC. Potentially users could run commands on unchanged files that aren't show in the SCM view ( |
Would |
I believe so (from here):
|
@yalozhkin do you have an svg icon I can use to represent 'push'. I'm looking through dvc.org now, but thought id ask incase you already know of one. |
Here's a quick demo of the scm context menu. We could have a submenu item for every possible flag, but this will get cluttered fast. If you can think of other important commands to have here besides those listed in #40 I can add them. |
We want to improve the user experience with DVC tracked files.
The ideal end goal is to have a seamless / native VS code experience for all files that are tracked by DVC. Currently DVC-tracked files are not visible in the Git source control tree. They are also generally present in the
.gitignore
file which means they are greyed out in the Explorer tab. Users also need to use and be familiar with the command line / terminal to do basic operations, see status, etc. Here is a screenshot of the Explorer panel for our demo project:From this doc it appears that there is an API which we can use to show a tree view in the LHS of the IDE along with other Explorer panels. We would be able to add something like this (see
npm-scripts
):We could also add to the source control panel. I think this API would let us do that. Here is what it would look like:
We could also assign actions to the tracked files via the source control API. That would look something like this:
On the CLI side we have
dvc list
(docs here) to help us out. Potentially there will be some performance issues with very large directories so please keep that in mind when formulating an approach.Steps/features:
@shcheklein please let me know if I've missed anything.
The text was updated successfully, but these errors were encountered: