1. 程式人生 > 其它 >Windows Terminal配置

Windows Terminal配置

技術標籤:作業系統windows terminal子系統

Windows Terminal配置

最近在windows上用安裝了centos子系統,並配置了Windows Terminal,記錄一下過程。

一、安裝

​ 因為重點是在配置Windows Terminal,所以這點就忽略了,直接在微軟商店下載安裝centos與Terminal

​ 記得在 控制面板->程式->啟用或關閉windows功能下將適用於Linux的windows子系統

勾選

二、預設終端配置

在安裝後Windows Terminal之後,開啟預設是cmd終端,現在配置為開啟預設子系統centos
開啟Windows Terminal設定(json格式)
這裡貼出一部分主要配置

"defaultProfile": "{4d4cc780-cacb-5b6f-a183-29b5f6cdcd23}",
 "profiles":
    {
        "defaults":
        {
            // Put settings here that you want to apply to all profiles.
"acrylicOpacity": 0.1, //背景透明度(0-1) "colorScheme": "Breeze", //主題名字 //"fontFace": "Fira Mono for Powerline", "fontFace": "DejaVu Sans Mono for Powerline", "fontSize": 13 }, "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", "commandline": "cmd.exe", "hidden": false }, { "guid": "{2c4de342-38b7-51cf-b940-2309a097f518}", "hidden": false, "name": "Ubuntu", "source": "Windows.Terminal.Wsl" }, { "guid": "{4d4cc780-cacb-5b6f-a183-29b5f6cdcd23}", "hidden": false, "name": "CentOS", "source": "Windows.Terminal.Wsl", "startingDirectory" : "." }, { "guid": "{b453ae62-4e3d-5e58-b989-0a998ec441b8}", "hidden": false, "name": "Azure Cloud Shell", "source": "Windows.Terminal.Azure" } ] },

defaults表示預設配置,即每個中的都會採取的配置(cmd、powershell或者是子系統shell)
defaultProfile表示當前的預設開啟終端,值是一串數字,是終端的guid
list中就是每個終端的資訊
要更改預設終端,將defaultProfile修改為list中想要的終端的guid值即可
如上,我現在的預設終端是CentOS,將defaultProfile修改為{4d4cc780-cacb-5b6f-a183-29b5f6cdcd23}即可

三、配置在當前檔案開啟終端

實現如下功能:
右鍵->開啟終端,終端路徑是當前位置

1、右鍵開啟

將以下圖示下載,放入以下資料夾中(沒有就新建)
C:\Users\tomorrow\AppData\Local\terminal
tomorrow 是使用者名稱,需要改成自己的使用者名稱
在這裡插入圖片描述
將圖示名字修改為terminal.ico

新建文字檔案

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\Background\shell\wt]
@="Windows terminal here"
"Icon"="%USERPROFILE%\\AppData\\Local\\terminal\\terminal.ico"

[HKEY_CLASSES_ROOT\Directory\Background\shell\wt\command]
@="C:\Users\tomorrow\AppData\Local\Microsoft\WindowsApps\wt.exe"

依然將最後一句的tomorrow改為自己使用者名稱
完成後命名為terminal.reg 雙擊即可
此時右鍵可以代開啟terminal

2、設定開啟Terminal為當前目錄

在配置檔案中配置,只需要新增一個欄位startingDirectory便可
可以在預設的defaults中新增,也可以在list中對應的終端配置新增,我這裡是後者

            {
                "guid": "{4d4cc780-cacb-5b6f-a183-29b5f6cdcd23}",
                "hidden": false,
                "name": "CentOS",
                "source": "Windows.Terminal.Wsl",
				"startingDirectory" : "."
            }

添加了 “startingDirectory” : “.” 此時右鍵開啟便是當前目錄

四、主題

Windows Terminal Themes
網站有很多主題,選擇喜歡的,將配置複製下面,放入自己的配置
如我的配置如下:

"schemes": [
	{
   	"name": "Breeze",
    "black": "#31363b",
    "red": "#ed1515",
    "green": "#11d116",
    "yellow": "#f67400",
    "blue": "#1d99f3",
    "purple": "#9b59b6",
    "cyan": "#1abc9c",
    "white": "#eff0f1",
    "brightBlack": "#7f8c8d",
    "brightRed": "#c0392b",
    "brightGreen": "#1cdc9a",
    "brightYellow": "#fdbc4b",
    "brightBlue": "#3daee9",
    "brightPurple": "#8e44ad",
    "brightCyan": "#16a085",
    "brightWhite": "#fcfcfc",
    "background": "#31363b",
    "foreground": "#eff0f1"
 		 }
	],

再在defaults欄位中的colorScheme填上主題名

 "defaults":
        {
            // Put settings here that you want to apply to all profiles.
	"acrylicOpacity": 0.1, //背景透明度(0-1)
	"colorScheme": "Breeze", //主題名字
	//"fontFace": "Fira Mono for Powerline",
	"fontFace": "DejaVu Sans Mono for Powerline",
	"fontSize": 13

        },

五、完整版配置檔案

僅供參考

// This file was initially generated by Windows Terminal 1.4.3243.0
// 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": "{4d4cc780-cacb-5b6f-a183-29b5f6cdcd23}",

    // 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.
	"acrylicOpacity": 0.1, //背景透明度(0-1)
	"colorScheme": "Breeze", //主題名字
	//"fontFace": "Fira Mono for Powerline",
	"fontFace": "DejaVu Sans Mono for Powerline",
	"fontSize": 13

        },
      
        "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",
                "commandline": "cmd.exe",
                "hidden": false
            },
            {
                "guid": "{2c4de342-38b7-51cf-b940-2309a097f518}",
                "hidden": false,
                "name": "Ubuntu",
                "source": "Windows.Terminal.Wsl"
            },
            {
                "guid": "{4d4cc780-cacb-5b6f-a183-29b5f6cdcd23}",
                "hidden": false,
                "name": "CentOS",
                "source": "Windows.Terminal.Wsl",
	"startingDirectory" : "."
            },
            {
                "guid": "{b453ae62-4e3d-5e58-b989-0a998ec441b8}",
                "hidden": false,
                "name": "Azure Cloud Shell",
                "source": "Windows.Terminal.Azure"
            }
        ]
    },

    // Add custom color schemes to this array.
    // To learn more about color schemes, visit https://aka.ms/terminal-color-schemes
    "schemes": [
	{
   	"name": "Breeze",
    "black": "#31363b",
    "red": "#ed1515",
    "green": "#11d116",
    "yellow": "#f67400",
    "blue": "#1d99f3",
    "purple": "#9b59b6",
    "cyan": "#1abc9c",
    "white": "#eff0f1",
    "brightBlack": "#7f8c8d",
    "brightRed": "#c0392b",
    "brightGreen": "#1cdc9a",
    "brightYellow": "#fdbc4b",
    "brightBlue": "#3daee9",
    "brightPurple": "#8e44ad",
    "brightCyan": "#16a085",
    "brightWhite": "#fcfcfc",
    "background": "#31363b",
    "foreground": "#eff0f1"
 		 }
	],

    // 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" }
    ]
}