Change:
When I press Cmd/Ctrl+Shift+F and a focus is currently on some folder in the Explorer sidebar, it would be nice to automatically scope the search to that folder. It's currently achievable by putting this to : but I think it would be a nice little improvement to do that automatically.
I think cmd+shift+f should just focus the viewlet in that case. Imagine if you press cmd+shift+e, then cmd+shift+f - you would be stuck searching in a folder, unless you grab the mouse to move the focus off a folder. But, I would take a PR that adds this keybinding for cmd+alt+f (or something else reasonable) and something reasonable for windows.
, can i work on this ? If yes then some starter points would be helpful :)
There is already a PR in progress, see just above your comment.

Discussion:
import { ToggleCaseSensitiveKeybinding, ToggleRegexKeybinding, ToggleWholeWordKeybinding } from 'vs/editor/contrib/find/findModel'; import * as nls from 'vs/nls'; import { ICommandAction, MenuId, MenuRegistry, SyncActionDescriptor } from 'vs/platform/actions/common/actions'; <del> import { CommandsRegistry } from 'vs/platform/commands/common/commands'; </del> <ins> import { CommandsRegistry, ICommandHandler } from 'vs/platform/commands/common/commands'; </ins> import { IConfigurationService } from 'vs/platform/configuration/common/configuration'; import { ConfigurationScope, Extensions as ConfigurationExtensions, IConfigurationRegistry } from 'vs/platform/configuration/common/configurationRegistry'; import { ContextKeyExpr } from 'vs/platform/contextkey/common/contextkey';

}; MenuRegistry.addCommand(FocusSearchListCommand); <del> const FIND_IN_FOLDER_ID = 'filesExplorer.findInFolder'; CommandsRegistry.registerCommand({ id: FIND_IN_FOLDER_ID, handler: (accessor, resource?: URI) => { const listService = accessor.get(IListService); const viewletService = accessor.get(IViewletService); const panelService = accessor.get(IPanelService); const fileService = accessor.get(IFileService); const resources = getMultiSelectedResources(resource, listService, accessor.get(IEditorService)); return openSearchView(viewletService, panelService, true).then(searchView => { if (resources && resources.length) { return fileService.resolveFiles(resources.map(resource => ({ resource }))).then(results => { const folders: URI[] = []; results.forEach(result => { if (result.success) { folders.push(result.stat.isDirectory ? result.stat.resource : dirname(result.stat.resource)); } }); searchView.searchInFolders(distinct(folders, folder => folder.toString()), (from, to) => relative(from, to)); </del> <ins> const searchInFolderCommand: ICommandHandler = (accessor, resource?: URI) => { const listService = accessor.get(IListService); const viewletService = accessor.get(IViewletService); const panelService = accessor.get(IPanelService); const fileService = accessor.get(IFileService); const resources = getMultiSelectedResources(resource, listService, accessor.get(IEditorService)); return openSearchView(viewletService, panelService, true).then(searchView => { if (resources && resources.length) { return fileService.resolveFiles(resources.map(resource => ({ resource }))).then(results => { const folders: URI[] = []; results.forEach(result => { if (result.success) { folders.push(result.stat.isDirectory ? result.stat.resource : dirname(result.stat.resource)); } </ins> }); <del> } return void 0; }); } </del> <ins> searchView.searchInFolders(distinct(folders, folder => folder.toString()), (from, to) => relative(from, to)); }); } return void 0; }); }; const FIND_IN_FOLDER_ID = 'filesExplorer.findInFolder'; KeybindingsRegistry.registerCommandAndKeybindingRule({ id: FIND_IN_FOLDER_ID, weight: KeybindingWeight.WorkbenchContrib, when: ContextKeyExpr.and(ExplorerFolderContext, ResourceContextKey.Scheme.isEqualTo(Schemas.file)), // todo@remote primary: KeyMod.Shift | KeyMod.Alt | KeyCode.KEY_F, handler: searchInFolderCommand </ins> }); CommandsRegistry.registerCommand({