microsoft / vscode-dotnettools

This is a feedback repository to capture issues logged for the C# Dev Kit and related extensions from Visual Studio Code
Other
234 stars 13 forks source link

[SUGGESTION] Improve solution explorer for keyboard navigation #1623

Open dibarbet opened 6 days ago

dibarbet commented 6 days ago

Describe the feature you'd like

Originally filed at https://github.com/dotnet/vscode-csharp/issues/7799 by @achobanov

Is your feature request related to a problem? Please describe.

I'm in the habit of using keyboard only navigation for traversing solutions:

  1. Keybind to change focus between solution and editor
  2. Using arrow keys to navigate up and down
  3. Using hotkey to collapse/expand directory tree
  4. using hotkey to copy/cut-paste
  5. using hotkey to create directory and files
  6. using shift+arrow up/down to select multiple files
  7. using hotkey to rename file (and I'd like the option to automatically rename the contained type as well)

Describe the solution you would like

I've developed those habits within VS and now that I'm trying to switch to VS Code because of it's far superior text editor I find some of these options lacking or unpolished:

  1. I can change focus
  2. Using arrow keys works pretty much same as VS, so far so good
  3. collapse/expand individual nodes using arrows is great, but I can't find a way to collapse all effectively - I've bound list.collapseAll which collapses the entire solution tree, rather than stopping at projects or solution dirs. While it's workable (and I believe workaround-able by creating a custom sequence of actions and key-binding that) I think a simple c# dev kit option to Keybind like solutionExplorer.CollapseProjectsAndSolutionFolders would be much better user experience
  4. I don't see any option to cut/copy/paste solution file using hotkey
  5. I can create directories and files, but it's clunky - in VS I'm used to simply navigating to the directory I want to create and pressing a hotkey. In VS code I can do something similar, but I have

    • navigate to directory
    • press tab, which selects "new file" option
    • press right arrow if in order to select "new directory" (if I want directory)
    • press enter to trigger the new dialog.

    I've tried to keybind csdevkit.addNewFileFromFileMenu which seems to be what I'm after, but it behaves exactly like csdevkit.addNewFile, which simply opens a new editor tab with a class snippet. Then I have to manually save the file and select a directory location with explorer. This is obviously bonkers.

  6. This does nothing in solution explorer and I cannot find a named command I can bind to that does it (should be default behavior IMO)
  7. File rename hotkey exists, but there is no option that would rename the contained type as well, same goes in reverse - I'd like to be able to automatically rename the file when I rename the type same as VS default behavior. Furthermore sometimes renaming the file is buggy - it creates a new file with the new name and keeps the old. Doesn't happen always, but quite often. IDK if that's an extension problem though.

Additional context

Happy to help with further info, please contact me

Alternatives considered

No response

Environment Information

No response