-
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
Dvc tree #53
Dvc tree #53
Conversation
for files tree view
- fix extension icon and info fields in package.json
@RandomFractals I think @rogermparent fixed the |
@RandomFractals could you please briefly describe what is exactly does at the moment? (it can wait until Monday for sure). |
These changes set typical constants, file and string utils most vscode extensions have for us to build up. The /tree folder contains implementation of a basic file tree for the dvc panel in activity bar based on vscode tree view example. This is what it looks like: Basically, it displays all files and folders with proper file icons like the built-in vscode file explorer and opens files on click. This should be a good start for us to start removing and adding files we'd like to see in DVC sidebar. Next step is to add virtual tree nodes for missing data files, their revisions etc. based on dvc config files. I am not sure why build fails. Error looks unrelated to my changes. Maybe @rogermparent can check it out since I am not really familiar with your current build process and it's very different from typical vscode extensions build. |
it has quite a lot of errors, this might help?:
WARNING in asset size limit: The following asset(s) exceed the recommended size limit (244 KiB).
This can impact web performance.
Assets:
main.js (288 KiB)
WARNING in entrypoint size limit: The following entrypoint(s) combined asset size exceeds the recommended limit (244 KiB). This can impact web performance. WARNING in webpack performance recommendations: ERROR in /home/runner/work/vscode-dvc/vscode-dvc/webview/src/components/build-dynamic-columns.tsx ERROR in /home/runner/work/vscode-dvc/vscode-dvc/webview/src/components/build-dynamic-columns.tsx ERROR in /home/runner/work/vscode-dvc/vscode-dvc/webview/src/components/build-dynamic-columns.tsx ERROR in /home/runner/work/vscode-dvc/vscode-dvc/webview/src/components/build-dynamic-columns.tsx ERROR in /home/runner/work/vscode-dvc/vscode-dvc/webview/src/components/build-dynamic-columns.tsx ERROR in /home/runner/work/vscode-dvc/vscode-dvc/webview/src/components/Experiments.tsx ERROR in /home/runner/work/vscode-dvc/vscode-dvc/webview/src/components/Experiments.tsx ERROR in /home/runner/work/vscode-dvc/vscode-dvc/webview/src/components/Experiments.tsx ERROR in /home/runner/work/vscode-dvc/vscode-dvc/webview/src/components/Experiments.tsx ERROR in /home/runner/work/vscode-dvc/vscode-dvc/webview/src/model/Model.ts ERROR in /home/runner/work/vscode-dvc/vscode-dvc/webview/src/model/Model.ts ERROR in /home/runner/work/vscode-dvc/vscode-dvc/webview/src/model/Model.ts ERROR in /home/runner/work/vscode-dvc/vscode-dvc/webview/src/util/build-experiment-tree.test.ts ERROR in /home/runner/work/vscode-dvc/vscode-dvc/webview/src/util/build-experiment-tree.ts
I would start with DVC-tracked files first. I'm not sure we want to replicate the whole tree from the very beginning. The most important now is to learn how to hook virtual files/directories. We can always get regular files around after that? |
yeah, I am not sure what those errors are. As you might have noticed they are for the webview classes, and I simply grabbed what was in the main branch. as for the dvc file tree, I started with basic file tree because we'll need folders to find dvc tracked files. Listing those is next as I have mentioned above. |
@RandomFractals it might be some changes to the
it's a good point. But we might rely on the DVC itself first to get us list of files (as we do with experiments for example, instead of parsing them on our own). Otherwise we'll have to write our own parser for DVC metafiles, kinda start implementing DVC in JS. It can be done as an optimization later to my mind. |
@shcheklein yes, I changed extension name to I think that should be either I also think it would be best for us to add a more extensive Dev Build section to docs that lists the steps to pull, build, format, lint and commit code changes. I see a lot of emphasis on the latter part that I don't quite agree with, especially when some of those tools makes changes to the code being committed. Nothing against formatters and linters, but given the current state of |
Updates all but webpack libraries for this extension to use the latest vscode apis, etc.
@RandomFractals hmm, that's what I get when I run
so, it is seems to be related/fails only on this branch.
we can discuss this later/separately. I see formatting, linting, tests as things that are easy to setup and speedup development significantly. And it's easy to setup them initially and keep code and coverage reasonably clean, but takes a lot of time to setup down the road.
also, separate topic. Good points though My suggestion - create a ticket/story with checkboxes for those aspects with some explanation and motivation behind them. We clearly should prioritize this as well. |
@shcheklein yeah, that doesn't help much. You keep on quoting the same build errors related to webpack and this monorepo. I did not change webpack scripts & maybe @rogermparent can give it a go and spot a problem. As I mentioned already the issue is upstream. Extension builds and installs just fine. See screenshots I shared. I suspect this build issue is related to vscode extension name change and I am not familiar with your build scripts or whatever GH hooks you guys are still adding. So, in short I am blocked on this, and perhaps another dev more familiar with webpack and your monorepo packaging can look into it. In the meantime, let's try smaller code change branches merge. Please review & approve #61, #62 & #64. |
after vscode extension rename to `dvc`
I had to jostle around the repo to get it to build, but I did end up getting it working. I also renamed the package back to Removing |
Remove child package-lock, re-add Webpack TS packages, and revert dvc-integration -> dvc rename
Looks like my changes fixed the build in GHA too! Again, if we want to rename As far as using the addition itself, it works for me and looks like a solid base to build off of when we think of the "business behavior" we want in the file tree (what files to show, what to do when clicking on files, etc.) This kind of DVC file managemement could, if I understand correctly, also fit well in the SCM view group via the SCM extension API, as DVC is an SCM tool at its core and used alongside Git. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This PR has built up some housecleaning changes that are worth bringing in.
If I'm correct in thinking that some features that are coded in are broken in practice, we should take action to mitigate that by one of:
- Getting file-open clicks working before merge
- Removing the non-working code before merge so we can build off of what does work
- Merging and making an Issue to fix the command
treeItem.command = { | ||
command: 'vscode.open', | ||
title: 'Open File', | ||
arguments: [element.uri], | ||
}; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Am I supposed to be able to open files from the new tree? This functionality doesn't seem to be working for me.
@RandomFractals can you open files from this tree? The issue may just be on my system.
@rogermparent thanks for taking a look! Let's please get things you fixed (and other useful fixes) into a separate PR, please. I'm closing this since it has a lot of problems that we are not going to address for now. |
Add basic file tree view for #45