-
Notifications
You must be signed in to change notification settings - Fork 301
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
Prompt to open a folder after connecting to a SSH host #511
Comments
We talked about this initially but currently we don't have a way to pass some parameters through to the new window. It could be encoded in the remote authority but I don't think that's the right place for it. |
The ESC is a problem, it will confuse. I guess we could have a dialog that lets you select files, folders or workspaces. |
@roblourens, Given the effort, @aeschli brought up a good point here that we could consider as a starting point to help orient people.
This welcome page could also include other features people may not be aware of like port forwarding in the SSH case given we can hyperlink commands. So it isn't annoying, we would show the welcome page the first time you get a new window for a given connection type - any SSH host or WSL, but in the SSH case we probably wouldn't need to do it for every time you connected to a new host. We could potentially do this for containers as well, but you end up opening a folder to get the config, so it is probably less critical there. You very much open with intent in that case -- even in the remote docker case. There's also a proposed Open Workspace in Container command to address that gap (#387). |
Extensions don't have a way to contribute to the welcome page today we either need to open this up or we open a custom welcome page the same way other extensions have done. If open folder is the key problem, we can for example always show the file explorer on first connect to a remote host with an empty window. There we have a big |
@kieferrm Hmmm. That might help -- but I think the main problem is it looks like your local empty window, so it's not obvious that the connection actually worked unless you know where to look. Pointing to what should be done next would resolve that... we could fall back on a one time notification, but we know that UX is getting to be overused. A one time custom page might be more useful. |
+1 on @Chuxel first post. I basically wrote this in another issue: This empty VSCode window does provide any useful functionality and we want to get the user as soon as possible out of this. The only thing that the user can get out of this is that he is happily connected to remote. I propose that once the connection is made that we automatically show a quick open dialog and offer the user to choose a remote folder to open. This opening of a dialog should only be done after the user invoked the "Connect to a Host" action, not every time he is in an empty window on remote. The alternative would be to make sure the explorer is opened, and we could tune the empty explorer text. To change the wording that it is clear the the user is opening a folder on the remote. I simply prefer the first approach since I believe it is more straight forward to the user and we skip this state where the user can no do anything useful. |
There is currently no parameter to my knowledge that opens a new window and then opens a remote file dialog. |
The challenge we have in Remote is the same we had in the local case and we mitigated/solved by introducing the welcome page. In the Remote case we also supports editing individual files or opening folders. Therefore, opening a modal dialog on top of a new window to hint the user at what they could do next is not a great idea. We could
|
@kieferrm I can look into opening the explorer by default and polishing the message there if you think that is best? |
@kieferrm @roblourens I tried the SSH, and have a couple of questisons / feedback
Unrelated to that I am still not convinced that automatically opening quick open is not the best way to go here. As for Kai's argument that users can still edit individual files and open folders -> for both those activites they need the quick open first. As far as I understand the quick open supports opening both. I am simply not aware of any action a user can do that does not require first to use quick open. Let me know what you think |
About 1) This is an interesting idea. We'd then miss an action to open a new empty window on a SSH box since "New Window" opens a local window. So, we can't simply change the behavior here without impacting other areas. About 2) Sounds good. Need to find a good trigger for calling the action. About 3) How about: "Connected to ${host} via SSH". The "Open Folder" button would still be right below, so I think we can omit the call to open a folder in the text. |
|
I made the following experimental change in the SSH extension: If the workbench is empty and no welcome page is shown then reveal the explorer and open the terminal. |
I have pushed the changes to the empty view in the explorer. I would also suggest changing 1), though leaving that up to @kieferrm |
👍 but let's keep in mind that the message should also be tuned for the other authorities WSL, Containers, but also consider contributed ones (e.g. Cloud Envs). |
@egamma yes, my solution covers all those cases. |
Yeah the early results from the interviews with full-time SSH users @bowdenk7 has been driving have indicated a 50/50 split between whether they were confused at first when they hit this or not. It was never considered a big problem, however, as they all figured it out - but each were very experienced SSH users. They also all were opening a folder when they first tried out the SSH extension (not a file or VS Code work space). The unprompted suggestion was usually to go right to open folder as a result. On the containers side, we need more data, but the open folder behavior it has seemed to meet with expectations. That said, we can get a bit more insight from part-time users to understand how confusing/painful this actually is for them. Pain was low for full-timers. What is described here seems like a good first step to me -- we can compare the full-time feedback to part-time users as we talk with more of them formally this week and decide if we need to do more. |
* beautify macos keyboard layout label * Open folders and workspaces in new windows * Basic file opening via Open File command * Update auto detect layout info. * Respect openFoldersInNewWindow setting for folders/workspaces * Make openWindow function resolve at right time * keyboard layout status bar item tooltip * Move workspace menu and action to fileActions.contribution * Add clarifying comment on instance service request events * Fullscreen change event. * Remove unneeded margin on settings editor scrollbar Fix microsoft#75724 * fix: microsoft#72626 * Remove extra register of automatic tasks Fixes microsoft#75758 * remove trailing '/' from repo url for baseFolderName * handle style-attribute modifications, cache requests in addition to results, microsoft#75061 * fix microsoft#75818 * fix bad tree guide indentation * remove TODO * update eslint * update distro fixes microsoft#73872 * Revert "Revert "Merge pull request microsoft#75695 from orange4glace/master"" This reverts commit a05e05c. * Revert "Revert "explorero: file actions disablment no longer needed"" This reverts commit b634152. * more code insets API tweaks, microsoft#66418 * Alpine build * Update distro hash * Remove duplicate cp * shellscript: Add folding markers * fixes microsoft#75829 * show setting on windows only * add ExtensionKind and remoteName propsed APIs, microsoft#74188 * debt - use file service based configuration file service * fix tests * debt create configuration file service inside configuration service * First cut of file service based user data service * Use user data service for reading settings * Update distro hash * add diagnostic tool for git file event issues * 💄 * Update distro hash * introduce VSCODE_STEP_ON_IT * remove env scripts fixes microsoft#74792 * Update xterm.css Fixes microsoft#75827 * check if file exists * remove alert, aria-live will read the content even with no focus fixes microsoft#41356 * win code.sh fix * 🧀 Fix microsoft#75831 * Add proposed api check for shell API Part of microsoft#75091 * launch ext host window internally * EH debugging: support multiple files and folders * Update distro * xterm@3.15.0-beta50 Diff: xtermjs/xterm.js@846a189...96eafd3 Changes: - Publish improvements - Layering/strict updates * Fire onDidChangeMaximumDimension when dimensions are set Fixes microsoft#73496 * Fix potential race * Delete cached service worker entries after a short timeout * Fix webview developer command not being registered * Re-queue canceled geterr requests before remaining buffers We should give higher priority to files that have previously had geterr triggered on them but did not have their request completed * Remove log uploader Fixes microsoft#75748 * Use localized name for macOS keyboard layout * fixes microsoft#75856 * User keyboard layout * simplify common keymap layer * load user keyboard layout after initialization * US Standard keyboard info * better score for layout * fast return keyboard layout if 48-keymap matches * a single keyboard event can be a keymap * switch to user selected keyboard layout * Have `.get` return promise directly * Make sure we wait until service worker is ready before creating content * Add version check to service worker Try to make sure our page is talking to the expected version of the service worker * Don't use clone as much * Move host javascript to own file * Update distro * Remove icon explorations before shipping stable * Move listener to window service. * Minimap: Render find match decorations, fixes microsoft#75216 * Fix `navigator.serviceWorker.ready` is a Promise, not a function * Use update instead of manually tring to re-register * Extract ITypeScript server interface * extract server error to own file * Extract server spanwer to own file * Renames * Move getQueueingType into class * Add experimental dual TS server Fixes microsoft#75866 * Enable "typescript.experimental.useSeparateSyntaxServer" for VS Code workspace * Remove trailing comma * Include server id in TS server errors * Make execute command a configuration object * Also include format in the syntax commands * Fix method name * Renames * Better encapsulate logic of spawning different server kinds * some fixes for mac web * New test runner API for microsoft#74555 * update doc, microsoft#74188 * build: release only iff all builds succeed, introduce VSCODE_RELEASE env * first version of vscode.workspace.fs * 💄 * Tasks registration + the local ext host now has an autority Part of microsoft/vscode-remote-release#757 * Add platform override to getDefaultShellAndArgs in terminal Part of microsoft/vscode-remote-release#757 * Ensure no trailing path separtor on URIs from file picker Part of microsoft#75847 * data tree view state should store scrollTop, microsoft#74410 * fix microsoft#75564 * Change promise structure of creating terminal in tasks Potential fix for microsoft#75774 * do not allow additionalProperties microsoft#75887 * explorer: roots forget children on new file system provider registration microsoft#75720 * Update max tokenization limit without reload * Use interfaces for keyboard layout registration * Separate keyboard layout loading logic for testing * Test browser keymapper * unused standard keyboard event. * Make sure we dismiss the zoom status bar entry when switching editors * Reduce state * Added strictly typed telemetry function (microsoft#75915) * Added strictly typed telemetry function * cleanup publicLog2 signature * Extract port mapping helper function * Re-use extractLocalHostUriMetaDataForPortMapping for openUri * Also map 127.0.0.1 in webviews and forward it for openExternal Fixes microsoft/vscode-remote-release#108 * use empty model when content is empty * 💄 * Update keyboard layout file comments * Delete breadcrumbs.filterOnType unused setting. Fixes microsoft#75969 * Add quick open/input color registrations (fixes microsoft#65153) * Update API * implements ExtHostEditorInsetsShape * use divs for tree indent guides fixes microsoft#75779 * comment out more (for microsoft#74898) * Quick Open > Quick Input (microsoft#65153) * build - enable language server tests again (for microsoft#74898) * use polish for wsl1 * move extension kind to Extension-interface * init log level of remote log service * Open/Save local commands should not show in the command palette Fixes microsoft#75737 * chockidar: use polling * fix build conditions * xterm fixes for cglicenses * oss 1.36.0 * workaround for microsoft#75830 * update distro commit * electron - still call setBounds() as workaround for first window * fixes microsoft#75753 * node-debug@1.35.3 * remove user data service * use posix.join * update doc * Add -1 tab index to status bar entries This keeps them out of the tab order, but allows them to be read with a screen reader Fixes microsoft#41406 * empty view polish labels for remote case microsoft/vscode-remote-release#511 * send remote watcher error to file service (fixes microsoft/vscode-remote-release#329) * update distro * better error handling in case of loader error in tests * fix win 32 bits unit tests * electron@4.2.5 (microsoft#76020) * Code-insiders started from WSL doesn't return to console/ doesn't connect. Fixes microsoft/vscode-remote-release#780 * Group decorations by line before rendering * disable support for simple fullscreen (microsoft#75054) * telemetry - add window.nativeFullScreen * move API to stable, microsoft#74188 * build - add and use --disable-inspect for integration tests (microsoft#74898) * 💄 * bump distro * Report workspace stats in shared process * Make return undefined explicit * Add missing return * Use explicit window.createWebviewManager * gdpr comments * webkit fullscreen detection * Fix file name spelling * update distro * add logging * disabling installing extension from gallery when not enabled * status.workbench.keyboardLayout * Move Inspect Keyboard Layout JSON to workbench * return local extension after install * install deps and packs while installing from gallery * Fix default shell selector outside of Windows Fixes microsoft#76040 * Add explicit win32 gheck for using user specific temp folder * Always use settings UI when querying online services, fixes microsoft#75542 * Disable conpty in terminal when accessibility mode is on Fixes microsoft#76043 * Move the webviewResourceRoot property to be set on each webview instead of as a global property For microsoft#72155 This allows us to potentially change the resource root per webview * Make RelativeWorkspacePathResolver a static class * Use openExternal * Auto restart when changing typescript.experimental.useSeparateSyntaxServer * Fix regular expression for rewriting iframe webview html replacing quotes * Telemetry Command (microsoft#76029) * Added telemetry command * Initial Build support * Added build logic for telemetry * Linux Builds * Windows builds sort of work * Remove arm telemetry extraction * Remove alpine telemetry extraction * Remove accidental s * More try catch * Use full resource uri for transforming webview resources This ensures we still work even if there is no base uri set * Use outerHtml to make sure we write `<html>` element from extensions too * Use a regexp that works across browsers * Implement reload on iframe based webview Elements * fix various nls issues * 💄 * add debug output (microsoft#76024) * Fix tasks platform for quoting Fixes microsoft#75774 * fix hockeyapp symbols and report errors (fix microsoft#76024) * update distro * fix bad watch * update distro * Fix drive letter casing on typescript tasks Occurs when opening by double clicking on workspace file. Fixes microsoft#75084 * update distro * update distro * Test remoteName and extensionKind (for microsoft#76028) * MainThreadFileSystem does not await * Fix microsoft#76096 * Rename runInBackground to hideFromUser See microsoft#75278 * Update distro * Fix minimap decoration rendering on horizontal scroll, fixes microsoft#76128 * Handle windows paths correctly when loading webvie resources * Fix standard link handler for iframe based webviews * Mark extensions.all as readonly This iteration, we marked a few other arrays as readonly. We should do the same for extensions.all * Fix microsoft#75927. * Register mouse down on container dom node. * Make sure we never cancel a request to just one of the ts servers Fixes microsoft#76143 * Show document link tooltip first and put click instructions in parens Fixes microsoft#76077 This change also update our standard link hovers to follow this format * reset listener once users choose a dedicated keyboard layout * switch to a new layout only when the score is higher. * Fix kb unit test * fix microsoft#76149 * web - document some API * 💄 workbench API * disable arm and alpine for stable fixes microsoft#76159 * Fix extra auto complete on fast delete (microsoft#74675) Fixes #vscode-remote-release/4 * use yarn --frozen-lockfile for builds * remove `update.enableWindowsBackgroundUpdates` from online settings * fix microsoft#76076 * revert the change * prevent product.json containing gallery * fix microsoft#76074 * fixes microsoft#54084 * Fix microsoft#76105 * fix microsoft#75904 * workaround for microsoft#74934
Is there any progress on the suggestions 1 and/or 2 of @isidorn in the comment dated June 21, 2019? |
+1 on this. Id like to be able to save a workspace. So that it loads my config. Doing the work I am doing requires freq. restarting of the host, which disconnects me. In the remote hosts tab- sometimes it shows file targets. But not always. I cant figure out how to add it manually. Further its a very large number of files, I need it to read the ignore list before it loads everything, because that means I have to reload the directory a 3rd time. Preferred behaviour might be to click a target in the Remote Explorer activity bar, and have it open in the current window.. Is there a way to make it the default behavior- opening in the current window? I see that you can in the dropdown. |
Agree on the save workspace idea. It would also be nice if we could set a default folder to start with in the config file |
+1 from me, would be great if the remote session either restores the previous folder or opens up a default folder based on the config, etc home folder. |
+1 for saving workspace. |
I wish I could also specified first folder in the config Something like
And it will open that folder immediately |
+1 to auto-loading the workspace. First off, this functionality is amazing and invaluable for someone who does any work on servers. This feature is amazing!! That said, in my experience using VSCode's remote editor functionality, I use VSCode on upwards of 15 different servers. Every time I open the server, I need to click to open a folder to get my workspace back. It would be great to reduce that extra step. |
We would like to see this feature so far no one help on it |
There are suggestions to use https://serverfault.com/a/1045158
|
It seem there is similar request for |
This issue is being closed to keep the number of issues in our inbox on a manageable level, we are closing issues that are not going to be addressed in the foreseeable future: We look at the number of votes the issue has received and the number of duplicate issues filed. More details here. If you disagree and feel that this issue is crucial: We are happy to listen and to reconsider. If you wonder what we are up to, please see our roadmap and issue reporting guidelines. Thanks for your understanding and happy coding! |
This hasn't come up in awhile, and I think the Getting Started page with the Open Folder option helps. I think that putting up an Open Folder dialog wouldn't help. |
RemoteCommand option looks even better. |
+1 |
still needed |
+1 |
7 similar comments
+1 |
+1 |
+1 |
+1 |
+1 |
+1 |
+1 |
+1 It would be super great if we could add a "DefaultDirectory" in the config like this Host <my_name> |
Agree with above. Awkward implementation to land nowhere. If you cant do the above- Default Directory key, or open folder dialog box, then at least hard code the remote client with a sensible starting place '/' or '.../home/ |
+1 |
Currently when you connect to a SSH host, you land in an empty window. From here you can then open a folder or open a workspace on the remote host.
While this makes sense in principal, in talking with @chrisdias and seeing a few people do it for the first time, it's not immediately obvious what to do next. This creates a rough on-boarding experience for new users.
I'd propose we instead:
Once you've initially opened a folder or workspace, you can access it again via the SSH explorer, so optimizing for the first time experience seems to make sense here.
//cc: @chrisdias @roblourens @kieferrm
The text was updated successfully, but these errors were encountered: