From 6399fcc85a890afdb913e5a3d7e779b4a2a92e4e Mon Sep 17 00:00:00 2001 From: Christian Jorgensen Date: Sun, 11 Feb 2024 20:11:31 +0100 Subject: [PATCH] Add keybinding Ctrl-H to toggle showing hidden files --- package.json | 18 +++++++++++++++++- src/views/ifsBrowser.ts | 10 +++++++++- 2 files changed, 26 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index e14024a17..e6fdf3cc4 100644 --- a/package.json +++ b/package.json @@ -1593,6 +1593,12 @@ "title": "Edit", "enablement": "code-for-ibmi:connected", "category": "IBM i" + }, + { + "command": "code-for-ibmi.ifs.toggleShowHiddenFiles", + "title": "Toggle hidden files", + "enablement": "code-for-ibmi:connected", + "category": "IBM i" } ], "keybindings": [ @@ -1637,6 +1643,12 @@ "key": "ctrl+r", "mac": "cmd+r", "when": "editorLangId == cl" + }, + { + "command": "code-for-ibmi.ifs.toggleShowHiddenFiles", + "key": "ctrl+h", + "mac": "cmd+h", + "when": "!editorFocus || editorReadonly" } ], "viewsContainers": { @@ -1978,7 +1990,11 @@ { "command": "code-for-ibmi.removeIFSShortcut", "when": "never" - } + }, + { + "command": "code-for-ibmi.ifs.toggleShowHiddenFiles", + "when": "code-for-ibmi:connected && view == ifsBrowser" + } ], "view/title": [ { diff --git a/src/views/ifsBrowser.ts b/src/views/ifsBrowser.ts index f72b5f800..7593698d8 100644 --- a/src/views/ifsBrowser.ts +++ b/src/views/ifsBrowser.ts @@ -1,4 +1,3 @@ - import os from "os"; import path from "path"; import vscode, { FileType } from "vscode"; @@ -715,6 +714,15 @@ export function initializeIFSBrowser(context: vscode.ExtensionContext) { ) } +vscode.commands.registerCommand(`code-for-ibmi.ifs.toggleShowHiddenFiles`, async function () { + const config = instance.getConfig(); + if (config) { + config.showHiddenFiles = !config.showHiddenFiles; + await ConnectionConfiguration.update(config); + vscode.commands.executeCommand("code-for-ibmi.refreshIFSBrowser"); + } +}); + function handleFileListErrors(errors: string[]) { errors.forEach(error => vscode.window.showErrorMessage(error)); vscode.window.showErrorMessage(t(`ifsBrowser.handleFileListErrors.errorMessage`, errors.length, errors.length > 1 ? t(`errors`) : t(`error`)));