Feature request: create new profile from .lnk file #1793
Labels
Area-Settings
Issues related to settings and customizability, for console or terminal
Help Wanted
We encourage anyone to jump in on these.
Issue-Feature
Complex enough to require an in depth planning process and actual budgeted, scheduled work.
Product-Terminal
The new Windows Terminal.
Milestone
Summary of the new feature/enhancement
Development environments, such as Visual Studio, SDKs, etc. install shortcuts that open command prompts with a pre-configured environment (e.g. "x64 Native Tools Command Prompt for VS 2019"). It's tedious and error prone to copy settings from these shortcuts. Terminal should do it automatically, either on a shortcut-by-shortcut basis, or even better letting you dynamically import a whole directory of shortcuts
Proposed technical implementation details
Until Terminal has a UI for creating and editing profiles, this feature will simply involve changes to the schema of profiles.json
I propose a new key for profile dictionaries, let's call it "
importDefaultsFromLnk
", which can specify a path to a shell link (.lnk) file. A profile can contain a singleimportDefaultsFromLnk
field and nothing else, and all settings will come from the shell link and itsNT_CONSOLE_PROPS
andNT_FE_CONSOLE_PROPS
data blocks (except those that don't make sense for Terminal, of course, likeNT_CONSOLE_PROPS::dwWindowOrigin
); thename
field would default to the file's display name (IShellItem::GetDisplayName
), so that it would automatically hide the extension and/or load a localized description that might be present. If other profile fields are explicitly specified, they'll override settings from the shell link. Anull
value for a field could be used to mean "override with the Terminal default"Importing a set of shortcuts from a directory (e.g. all shortcuts in Programs folder "Visual Studio 2019\Visual Studio Tools\VC", or even better all shortcuts under "Visual Studio 2019\Visual Studio Tools", recursively) could be done naively, with a profile field that we might call "
importProfilesFromDirectory
", but unlike importing a single shortcut this feature has non-trivial implications, including but not limited to:globals\defaultProfile
?The text was updated successfully, but these errors were encountered: