目录
- 一. 基本设置
- 1.1 固定标题栏
- 1.2 设置指定Terminal的颜色
- 1.3 配置打开多个Terminal
- 1.4 打开终端的脚本
- 二. 快捷键
- 2.1 调整窗格大小:`Alt + Shift + 箭头`
- 2.2 关闭窗格:`Ctrl + Shift + W`
- 2.3 移动焦点到指定窗格:`Alt + 箭头`
- 2.4 打开新窗格并自动拆分:按下`Alt` ,并单击要打开的新窗格
- 2.5 配合`Powershell7`,预测提示
- 2.6 👍使用管理员权限打开`Powershell`
- 三. 随机壁纸
- 3.1 壁纸随机更换思路
- 3.2 指定 WindowsTermina 壁纸路径
- 3.3 编写脚本,随机替换壁纸
- 3.3.1 `powershell`脚本
- 3.3.2 `.bat`批处理脚本
- 3.4 配置定时任务,添加触发器
- 3.5 效果
🔷参考资料
- Windows Terminal 官方Github
- 微软商店
- Oh My Posh
- windowsterminalthemes
- 微软官方Windows终端设置教程
- Windows 终端中的窗格
- 对 Windows 终端使用命令行参数
一. 基本设置
🔷WindowsTerminal的配置文件存储在下面的文件中
C:\Users\用户名\AppData\Local\Microsoft\Windows Terminal\settings.json
1.1 固定标题栏
🔷默认情况下,当连接WSL时,Windows Terminal 会收到来自WSL Shell的标题更新请求,然后自动把标签页标题修改。
- 在
WindowsTerminal的配置文件中加入"suppressApplicationTitle": true即可使用自定义的标题
1.2 设置指定Terminal的颜色
🔷设置tabColor即可
1.3 配置打开多个Terminal
🔷在settings.json中的actions里,加入下面的配置即可
keys:打开多个Terminal的快捷键profile:自定义的终端的名称
"actions":[{"command":{"action":"splitPane","profile":"Git Bash","split":"right"},"keys":"alt+g"}]- 默认的终端是Powershell,按下快捷键之后,就会同时打开Powershell与Git Bash终端
1.4 打开终端的脚本
🔷wt命令是WindowsTerminal自带的,在安装目录下可以找到,根据安装情况判断是否要配置环境变量。
🔷新创建一个.bat文件,将下面的内容粘贴到脚本文件中即可
- 左右分割,打开默认终端与Git Bash终端
wt split-pane-V-p"Git Bash"- 上下分割,打开默认终端与WSL_ubuntu22_Parent终端
wt split-pane-H-p"WSL_ubuntu22_Parent"- 左右分割,打开PowerShell_5.x与Git Bash终端
wt new-tab-p"PowerShell_5.x"";"split-pane-V-p"Git Bash"- 左右分割,打开WSL_ubuntu22_Parent与WSL_ubuntu22_1终端,并将光标置于左侧的WSL_ubuntu22_Parent上
-d:用于指定打开的文件夹
wt new-tab-d.-p"WSL_ubuntu22_Parent"";"split-pane-V-p"WSL_ubuntu22_1"";"move-focus--directionleft二. 快捷键
🔷打开命令面板:Ctrl + Shift + P
2.1 调整窗格大小:Alt + Shift + 箭头
2.2 关闭窗格:Ctrl + Shift + W
2.3 移动焦点到指定窗格:Alt + 箭头
2.4 打开新窗格并自动拆分:按下Alt,并单击要打开的新窗格
2.5 配合Powershell7,预测提示
🔷在Windows Terminal中使用PowerShell 7时,当你输入命令,后面出现灰色的文字提示,这些文字提示都是PowerShell根据历史记录或插件预测出来的命令。
- 如下图所示,当输入wsl命令的时候,后面出现了灰色的文字提示
- 此时只需要按下
→的右方向键,即可完成补全操作
2.6 👍使用管理员权限打开Powershell
🔷按下Ctrl键之后,再打开Powershell,就会以管理员权限打开。
三. 随机壁纸
3.1 壁纸随机更换思路
WindowsTerminal的壁纸在其settings.json文件中可自定义指定- 编写脚本,读取指定文件夹下的所有壁纸文件,随机获取一张壁纸
- 将壁纸复制到
settings.json中指定的路径下,若有既存的文件,强制覆盖 - 配置定时任务,设置触发器,在用户启动电脑的时候,触发脚本执行
3.2 指定 WindowsTermina 壁纸路径
⏹如下图所示,指定壁纸的路径和透明度
3.3 编写脚本,随机替换壁纸
⏹文件夹详情
3.3.1powershell脚本
⏹change_background_image.ps1
# 父文件夹$Paretn_Path='F:\99-Windows_Terminal\'# 壁纸文件夹$Wallpaper_BK_Path="$($Paretn_Path)\02-Wallpaper_BK\"# Windows_Terminal所需壁纸文件路径$Wallpaper_Path="$($Paretn_Path)\01-Wallpaper\img.jpg"# 递归获取所有的壁纸的绝对路径$Wallpaper_list=Get-ChildItem-Path$Wallpaper_BK_Path-Recurse-File `|ForEach-Object{$_.FullName}# 从所有的壁纸中随机获取一张壁纸下标$Random_Wallpaper_Index=Get-Random-Minimum 0-Maximum(($Wallpaper_list|Measure-Object).Count-1)# 获取要移动的壁纸对象$Random_Wallpaper_Full_Path=$Wallpaper_list[$Random_Wallpaper_Index]# 复制壁纸路径到指定指定文件夹中,如果有同名文件直接强制覆盖Copy-Item-Path$Random_Wallpaper_Full_Path-Destination$Wallpaper_Path-Force3.3.2.bat批处理脚本
⏹change_background_image.bat
- 部分电脑可能禁用
PowerShell代码,因此提供.bat批处理脚本 - 由于批处理的代码晦涩难懂,此处将批处理代码与
PowerShell代码相结合,在批处理文件中调用文件内含的PowerShell代码
@(echo '> NUL echo off) setlocal ENABLEDELAYEDEXPANSION set ARGV0=%~f0 set ARGS=%* set ARGC=0 for %%V in (%*) do ( set /a ARGC=!ARGC!+1 set ARGV!ARGC!=%%V ) PowerShell.exe -Command "Invoke-Expression -Command ((Get-Content \"%ARGV0: `=` `%\") -join \"`n\")" exit /b %errorlevel% ') | Out-Null # -------------------以下为PowerShell代码部分------------------- $argc=$ENV:ARGC $argv=@() for($i=0;$i -le $argc;$i++){ $argv += (Get-ChildItem "ENV:ARGV$i").Value } # -------------------PowerShell代码处理的主体部分------------------- # 父文件夹 $Paretn_Path = 'F:\99-Windows_Terminal\' # 壁纸文件夹 $Wallpaper_BK_Path = "$($Paretn_Path)\02-Wallpaper_BK\" # Windows_Terminal所需壁纸文件路径 $Wallpaper_Path = "$($Paretn_Path)\01-Wallpaper\img.jpg" # 递归获取所有的壁纸的绝对路径 $Wallpaper_list = Get-ChildItem -Path $Wallpaper_BK_Path -Recurse -File ` | ForEach-Object { $_.FullName } # 从所有的壁纸中随机获取一张壁纸下标 $Random_Wallpaper_Index = Get-Random -Minimum 0 -Maximum (($Wallpaper_list | Measure-Object).Count - 1) # 获取要移动的壁纸对象 $Random_Wallpaper_Full_Path = $Wallpaper_list[$Random_Wallpaper_Index] # 复制壁纸路径到指定指定文件夹中,如果有同名文件直接强制覆盖 Copy-Item -Path $Random_Wallpaper_Full_Path -Destination $Wallpaper_Path -Force3.4 配置定时任务,添加触发器
⏹任务计划程序
- 快捷键:
Win + R打开运行窗口 - 在运行窗口内输入
taskschd.msc,打开任务计划程序
⏹在操作选项卡中,点击创建基本任务,打开任务创建向导。
⏹当我们使用powerhell脚本时,需要指定通过powershell.exe来运行,还需要配置脚本的参数,指定脚本路径
⏹由于是开机启动的脚本,还需要配置完成之后,在属性选项卡中进行如下配置。
3.5 效果
⏹按照上述配置之后,每次开机或重启之后,WindowsTerminal的壁纸就会更换。
也可根据需求,选择工作站锁定时或工作站解锁时,触发脚本执行。