2608e94822
Introduces a new TerminalSettingsModel (TSM) project. This project is responsible for (de)serializing and exposing Windows Terminal's settings as WinRT objects. ## References #885: TSM epic #1564: Settings UI is dependent on this for data binding and settings access #6904: TSM Spec In the process of ripping out TSM from TerminalApp, a few other changes were made to make this possible: 1. AppLogic's `ApplicationDisplayName` and `ApplicationVersion` was moved to `CascadiaSettings` - These are defined as static functions. They also no longer check if `AppLogic::Current()` is nullptr. 2. `enum LaunchMode` was moved from TerminalApp to TSM 3. `AzureConnectionType` and `TelnetConnectionType` were moved from the profile generators to their respective TerminalConnections 4. CascadiaSettings' `SettingsPath` and `DefaultSettingsPath` are exposed as `hstring` instead of `std::filesystem::path` 5. `Command::ExpandCommands()` was exposed via the IDL - This required some of the warnings to be saved to an `IVector` instead of `std::vector`, among some other small changes. 6. The localization resources had to be split into two halves. - Resource file linked in init.cpp. Verified at runtime thanks to the StaticResourceLoader. 7. Added constructors to some `ActionArgs` 8. Utils.h/cpp were moved to `cascadia/inc`. `JsonKey()` was moved to `JsonUtils`. Both TermApp and TSM need access to Utils.h/cpp. A large amount of work includes moving to the new namespace (`TerminalApp` --> `Microsoft::Terminal::Settings::Model`). Fixing the tests had its own complications. Testing required us to split up TSM into a DLL and LIB, similar to TermApp. Discussion on creating a non-local test variant can be found in #7743. Closes #885
76 lines
3.3 KiB
JSON
76 lines
3.3 KiB
JSON
// This file was initially generated by %PRODUCT% %VERSION%
|
|
// It should still be usable in newer versions, but newer versions might have additional
|
|
// settings, help text, or changes that you will not see unless you clear this file
|
|
// and let us generate a new one for you.
|
|
|
|
// To view the default settings, hold "alt" while clicking on the "Settings" button.
|
|
// For documentation on these settings, see: https://aka.ms/terminal-documentation
|
|
{
|
|
"$schema": "https://aka.ms/terminal-profiles-schema",
|
|
|
|
"defaultProfile": "%DEFAULT_PROFILE%",
|
|
|
|
// You can add more global application settings here.
|
|
// To learn more about global settings, visit https://aka.ms/terminal-global-settings
|
|
|
|
// If enabled, selections are automatically copied to your clipboard.
|
|
"copyOnSelect": false,
|
|
|
|
// If enabled, formatted data is also copied to your clipboard
|
|
"copyFormatting": false,
|
|
|
|
// A profile specifies a command to execute paired with information about how it should look and feel.
|
|
// Each one of them will appear in the 'New Tab' dropdown,
|
|
// and can be invoked from the commandline with `wt.exe -p xxx`
|
|
// To learn more about profiles, visit https://aka.ms/terminal-profile-settings
|
|
"profiles":
|
|
{
|
|
"defaults":
|
|
{
|
|
// Put settings here that you want to apply to all profiles.
|
|
},
|
|
"list":
|
|
[
|
|
{
|
|
// Make changes here to the powershell.exe profile.
|
|
"guid": "{61c54bbd-c2c6-5271-96e7-009a87ff44bf}",
|
|
"name": "Windows PowerShell",
|
|
"commandline": "powershell.exe",
|
|
"hidden": false
|
|
},
|
|
{
|
|
// Make changes here to the cmd.exe profile.
|
|
"guid": "{0caa0dad-35be-5f56-a8ff-afceeeaa6101}",
|
|
"name": "%COMMAND_PROMPT_LOCALIZED_NAME%",
|
|
"commandline": "cmd.exe",
|
|
"hidden": false
|
|
}
|
|
]
|
|
},
|
|
|
|
// Add custom color schemes to this array.
|
|
// To learn more about color schemes, visit https://aka.ms/terminal-color-schemes
|
|
"schemes": [],
|
|
|
|
// Add custom actions and keybindings to this array.
|
|
// To unbind a key combination from your defaults.json, set the command to "unbound".
|
|
// To learn more about actions and keybindings, visit https://aka.ms/terminal-keybindings
|
|
"actions":
|
|
[
|
|
// Copy and paste are bound to Ctrl+Shift+C and Ctrl+Shift+V in your defaults.json.
|
|
// These two lines additionally bind them to Ctrl+C and Ctrl+V.
|
|
// To learn more about selection, visit https://aka.ms/terminal-selection
|
|
{ "command": {"action": "copy", "singleLine": false }, "keys": "ctrl+c" },
|
|
{ "command": "paste", "keys": "ctrl+v" },
|
|
|
|
// Press Ctrl+Shift+F to open the search box
|
|
{ "command": "find", "keys": "ctrl+shift+f" },
|
|
|
|
// Press Alt+Shift+D to open a new pane.
|
|
// - "split": "auto" makes this pane open in the direction that provides the most surface area.
|
|
// - "splitMode": "duplicate" makes the new pane use the focused pane's profile.
|
|
// To learn more about panes, visit https://aka.ms/terminal-panes
|
|
{ "command": { "action": "splitPane", "split": "auto", "splitMode": "duplicate" }, "keys": "alt+shift+d" }
|
|
]
|
|
}
|