[PR #7167] Move ICore/ControlSettings to TerminalControl project #26859

Open
opened 2026-01-31 09:18:33 +00:00 by claunia · 0 comments
Owner

Original Pull Request: https://github.com/microsoft/terminal/pull/7167

State: closed
Merged: Yes


Summary of the Pull Request

Move ICoreSettings and IControlSettings from the TerminalSettings project to the TerminalCore and TerminalControl projects respectively. Also entirely removes the TerminalSettings project.

The purpose of these interfaces is unchanged. ICoreSettings is used to instantiate a terminal. IControlSettings (which requires an ICoreSettings) is used to instantiate a UWP terminal control.

References

Closes #7140
Related Epic: #885
Related Spec: #6904

PR Checklist

Detailed Description of the Pull Request / Additional comments

A lot of the work here was having to deal with winmd files across all of these projects. The TerminalCore project now outputs a Microsoft.Terminal.TerminalControl.winmd. Some magic happens in TerminalControl.vcxproj to get this to work properly.

Validation Steps Performed

Deployed Windows Terminal and opened a few new tabs.

**Original Pull Request:** https://github.com/microsoft/terminal/pull/7167 **State:** closed **Merged:** Yes --- ## Summary of the Pull Request Move `ICoreSettings` and `IControlSettings` from the TerminalSettings project to the TerminalCore and TerminalControl projects respectively. Also entirely removes the TerminalSettings project. The purpose of these interfaces is unchanged. `ICoreSettings` is used to instantiate a terminal. `IControlSettings` (which requires an `ICoreSettings`) is used to instantiate a UWP terminal control. ## References Closes #7140 Related Epic: #885 Related Spec: #6904 ## PR Checklist * [X] Closes #7140 * [X] CLA signed * [X] Tests ~added~/passed (no additional tests necessary) * [X] ~Documentation updated~ * [X] ~Schema updated~ ## Detailed Description of the Pull Request / Additional comments A lot of the work here was having to deal with winmd files across all of these projects. The TerminalCore project now outputs a Microsoft.Terminal.TerminalControl.winmd. Some magic happens in TerminalControl.vcxproj to get this to work properly. ## Validation Steps Performed Deployed Windows Terminal and opened a few new tabs.
claunia added the pull-request label 2026-01-31 09:18:33 +00:00
Sign in to join this conversation.
No Label pull-request
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/terminal#26859