
Windows Terminal 怎么设置窗口初始位置与启动模式initialPosition 与 launchMode【免费下载链接】terminalThe new Windows Terminal and the original Windows console host, all in the same place!项目地址: https://gitcode.com/GitHub_Trending/term/terminal每次启动 Windows Terminal窗口都停在系统默认位置、默认尺寸多显示器环境下还容易开到不方便的屏幕上。Windows Terminal 提供了两个顶层全局设置来解决这个问题initialPosition指定窗口左上角的初始坐标launchMode指定启动模式普通窗口、最大化、全屏等。把这两个配置写进设置文件settings.json下次新建窗口时就会按你的设置打开。本文依据仓库内的设计文档与设置 Schema给出完整的配置方法、取值规则和验证方式。先打开要修改的 settings.json这两个设置属于设置文件的顶层全局项不是某个 profile 的属性。用文本编辑器打开用户设置文件即可编辑在 Terminal 的按键绑定中配置命令{ action: openSettings, target: settingsFile }可以打开settings.json文档中的说明是openssettings.jsonin your default text editor在你的默认文本编辑器中打开 settings.json见 Settings Keybinding 规格。设置值遵循级联规则settings.json里定义的值优先生效未定义的项回退到defaults.json再回退到系统值见 cascading-settings 说明。其中launchMode的默认值在 defaults.json 中为default。配置 initialPosition窗口左上角的初始坐标initialPosition是一个字符串结构为X value, Y value表示窗口左上角在首次加载时的位置。按 设置 Schema 的描述The position of the top left corner of the window upon first load. On a system with multiple displays, these coordinates are relative to the top left of the primary display.要点多显示器系统中坐标原点以主显示器的左上角为基准。接在主显示器左侧的显示器其 X 坐标为负值Schema 中Coordinates的类型定义patterns也允许以-开头。空格会被忽略X、Y 任一缺失或无效时该项使用系统默认值。设计文档 spec.md 给出的取值规则设置值实际效果1000等价于 (1000, 1000), 1000X 用系统默认Y 为 10001000, X 为 1000Y 用系统默认,X、Y 都用系统默认abc, 1000X 无效回退系统默认Y 为 1000在settings.json顶层写入文档示例值{ initialPosition: 500,500, launchMode: default, profiles: [ ], schemes: [ ], defaultProfile: }解析实现按左值为 X、右值为 Y处理字符串见 ModelSerializationHelpers.h。配置 launchMode窗口启动模式launchMode定义终端以什么模式启动。当前 Schema 支持的取值取值行为default以系统默认尺寸的普通窗口启动默认值maximized启动时最大化fullscreen全屏启动focus等价于default模式但启用 focus modemaximizedFocus最大化窗口启动并启用 focus mode最初的 #1043 设计只规划了maximized与default两种模式全屏、focus 等取值是后续扩展进来的以当前 Schema 的枚举为准。launchMode与initialPosition有关联行为当设置为maximized或maximizedFocus且同时提供了initialPosition时窗口会在该坐标所在的那块显示器上最大化见 spec 的 Edge cases 与 Schema 描述。另外两个相关项Schema 中有明确说明initialCols/initialRows默认 120 / 30首次加载时窗口的列数与行数当launchMode为maximized或maximizedFocus时这两个属性被忽略Schema。centerOnLaunch默认false设为true时窗口在打开的显示器上自动居中并且终端会用initialPosition来决定在哪块显示器上打开Schema。验证结果与边界行为保存settings.json后关闭现有窗口、新建一个窗口来验证普通模式窗口左上角出现在initialPosition指定的坐标左侧显示器的窗口会出现在负 X 坐标对应的区域。窗口被开到屏幕外如果设置的初始位置超出屏幕范围、左上角落在屏幕外Terminal 会把窗口放到最近显示器的左上角保证你能看到并把它拖回屏幕内spec 的 Reliability 一节。最大化 初始位置窗口在坐标指向的显示器上最大化而不是全部显示器铺满。解析位置失败或该项缺省时回退到系统默认位置CW_USEDEFAULT路径见 spec 的 Solution Design 一节。实现细节可作为验证依据GetInitialPosition从设置读取坐标缺失分量用默认值补齐GetLaunchMode决定最终启动模式见 TerminalWindow.cpp。两个会覆盖settings.json的优先级情况均出自上述源码持久化窗口布局若启用了布局恢复firstWindowPreference设为persistedWindowLayout或persistedLayoutAndContent见 Schema上次保存的窗口位置与启动模式会优先于设置文件中的initialPosition/launchModeGetLaunchMode、GetInitialPosition。如果你发现设置不生效先检查这一项。命令行参数命令行传入的位置参数和--maximized/--fullscreen会覆盖设置文件中的值源码注释引用 GH#4620/#5801见 TerminalWindow.cpp。限制该功能只负责初始位置 启动时是否最大化/全屏/焦点模式。退出时保存位置并在下次启动恢复、多窗口场景下的位置保存与恢复在 spec 的 Future considerations 中仍列为后续工作当前可通过firstWindowPreference的持久化布局部分覆盖见上文。多显示器场景下 spec 明确提示需要关注社区反馈属于已知需留意的边界Potential Issues 一节。完成配置后的实际效果是新建的 Terminal 窗口稳定出现在你指定的显示器与坐标上或按指定模式最大化/全屏/focus启动不再受系统默认摆放位置影响。【免费下载链接】terminalThe new Windows Terminal and the original Windows console host, all in the same place!项目地址: https://gitcode.com/GitHub_Trending/term/terminal创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考