vscode-duplicate
vscode-duplicate copied to clipboard
Feature: Preserve file extension when duplicating files
VSCode Version: 1.20.1 OS Version: macOS High Sierra 10.13.2 Settings: https://gist.github.com/Epigene/a65bbf5e88d847b5e0622d42019fb678 Wrongly opened issue in VSC repo: https://github.com/Microsoft/vscode/issues/44254
Needed behavior: When duplicating a file it would be nice to have it append the "-copy" just before the file extension.
Current behavior: Duplication overrides file extension with "-copy".
Discussion:
As can be seen in the example image below, I choose to duplicate a file named "calendar.apib" and the default duplicate file-name is "calendar-copy" where "calendar-copy.apib" would be much more useful.

Hello, @Epigene,
Sorry for delay. By default, the extension remains unchanged.
- Original:
index.d.ts - Popup with input:
index.d(.d, because we don't know how many points is an extension) - Saved file:
index.d.ts
But if the extension does not match the original one, it will be changed:
- Original:
index.d.ts - Popup with input:
index.d→index.d.ts2 - Saved file:
index.d.ts2
Do you want the file extension to be displayed completely always?
I never realised that is the behaviour. 😅 A config option that toggles whether the file extension is displayed would be nice.
Hi, thanks for the extension! It looks like duplication doesn't work as expected if the filename contains more than one period (which is not an uncommon idiom in the *nix world).
How to reproduce:
- Create
foo.dev.json - Hit
Duplicate file or directory– the new filename is displayed asfoo-copy(ie minus the.dev.jsonsuffix). - Enter
foo.test
Expected filename: foo.test.json
Actual filename: foo.test
IMO a better option (if possible with Code APIs) would be to preserve extension(s) while selecting the filename part in the prompt, i. e. for file foo.d.ts a prompt [foo].d.ts ([] denoting a selection) is presented, from where user can:
- rename file while keeping extension by just typing new name,
- add a suffix before the extension (→ and type the suffix),
- change the extension (End Ctrl+Backspace and type new extension),
- finally, rename file completely (Ctrl+A and type new filename).
I can work out a PR if this kind of functionality is okay with you.