2021/01/30

[Terminal] Windows 開發者的好朋友 Windows Terminal

前言

在 Windows 的環境下,開發者可以選擇使用指令模式的機會還不少,預設能選擇的有 PowerShell 或 cmd 命令提示字元。

而我本身在 Windows 環境下,使用 Cmder 工具有好一段時間,喜歡它的原因當然只因為外觀的客製以及分頁。還有另一個很重要的功能:連結可以直接點擊並自動開啟瀏覽器。這個對於網站開發者相當友善,因為少了好幾個步驟即可達成瀏覽的動作。

Windows Terminal 已經推行了一段時間,我也從 Cmder 跳到 Windows Terminal 一陣子,但僅一項仍未滿足的部分就是直接點擊連結這功能。有時反而更依賴 VS Code 的 Terminal 補足了這部分功能。

好消息就在今早突然發現可以用了。立馬查詢了一下更新日誌,版本 v1.5.10271.0 已經支援自動檢測 URL 囉!從此刻起可以大力推推推~~

Windows Terminal

什麼是 Windows 終端機 (Windows Terminal)?

「Windows 終端機是新式的終端機應用程式,適用於使用命令列工具和命令介面 (如命令提示字元、PowerShell 和 Windows 子系統 Linux 版 (WSL)) 的使用者。 其主要功能包括多個索引標籤、窗格、Unicode 和 UTF-8 字元支援、GPU 加速文字轉譯引擎,以及讓您能夠建立自己的佈景主題並自訂文字、色彩、背景和快速鍵。」

安裝 Windows Terminal

在 Microsoft Store 搜尋 terminal 即可找到 Windows Terminal

最早開始換用 Windows Terminal 是用它來開啟 bash (安裝 Git 就會自帶 bash),原本在用 Cmder 也是開 bash,主要是因為本身也是 Mac 使用者,為求操作體驗一致,加上 bash 的 alias 讓跨平台開發一切變得順暢。

以下就我喜歡的特色加以介紹,一起來探索吧!

支援各式命令列

任何具有命令列介面的應用程式都可以在 Windows 終端機內執行。

  • PowerShell
  • Cmd 命令提示字元
  • Azure Cloud Shell
  • WSL
  • Bash

依據需求我會開啟不同的命令列,因為完整整合就不需各別開啟個別視窗,相當方便。 不僅可以選擇預設的命令列,而且還可以選擇顯示或隱藏,下圖則是我把 Azure Cloud Shell 隱藏了。

客製化設定

喜歡什麼配置自由選擇

Windows 終端機中的色彩配置

開啟設定 (settings.json) 至任何 commandline 的區塊加上 colorScheme

例如:

{
  "commandline: "powershell.exe",
  "colorScheme": "One Half Dark",
}

colorScheme 預設選擇有:

  • Campbell
  • Campbell Powershell
  • Vintage
  • One Half Dark
  • One Half Light
  • Tango Dark
  • Tango Light

若是想要自己設定自己的色彩配置請看 自訂終端機指南

自定鍵盤快速鍵

在設定檔案中的 keybindings 區塊設定快速鍵

設定格式如下:

不含引數的命令

{ "command": "closeWindow", "keys": "alt+f4" }

具有引數的命令

{ "command": { "action": "newTab", "index": 0 }, "keys": "ctrl+shift+1" }

更多詳細動作可查閱 Windows 終端機中的自訂動作

支援背景影像

在 WSL 我選擇用 Ubuntu 的圖片來做背景,一方面也讓我可以直覺知道我正在操作 WSL

對開發者友善的功能

真心覺得 Windows Terminal 終於實現開發者很需要的重要功能啊~~

結語

對視覺系的開發者來說,打指令也要賞心悅目,打造自己喜歡的工具開發起來也會更得心應手。最後一塊拼圖今日出現,我認為至少在目前最新的版本已經達到我的需求。希望也能成為你喜歡的命令列工具!

2021/01/10

[Node.js] 解決 express: command not found 問題

開發環境

  • Windows 10 / macOS 10.15.6
  • Node 14.5.0

問題

最近研究採用 Node + Express 跑前端應用

找到許多文件在 npm global 安裝 express 可以執行 cli 命令

$ npm install -g express
$ express --version

但在查詢版本指令下卻出現 express: command not found

原因是在版本 4.x 與 3.x 有所不同, 在 v4.x 版已將 cli 移至 express-generator

解決方法

安裝全域 express-generator (目前版本是 4.16.1)

$ npm install -g express-generator

另外在 v4.x 的命令方法也有所不同, 可以下 express -h 作進一步查詢

References