你一定會喜歡的終端自動補全工具 Fig
Fig 是一個可以在你的終端中添加自動補全命令的提示工具,當你在操作終端的時候,Fig 可以在你的終端中彈出子命令、選項和上下文相關的參數。Fig 并不是一個獨立的終端,而是與你現有的終端工具進行集成。
現在已經支持近300多種 CLI 工具的補全提示,比如 cd、git、docker、npm、yarn、kubectl、brew、aws 等等工具,而且我們還可以根據需求添加新的補全提示規范。
如果你使用了 Fig,我相信你一定會喜歡上它的。
安裝
要安裝 Fig 非常簡單。在你的 mac 中使用下面方法進行安裝即可。
- Homebrew: brew install fig。
- DMG: 直接從 fig.io 網站下載 DMG 安裝包。
Windows/Linux: 暫未開放。
安裝完成后會有一個配置過程。
其中有一個不友好的地方是在配置最后需要使用郵箱注冊一個帳號,而且該過程是需要代理的。
配置完成后就可以直接使用了,比如在 iterm 終端中使用 git 命令。
對我來說平時使用 kubectl 最多,同樣也是支持的。
如果你經常使用 VSCode 下面的終端,那么可能會經常切換目錄,那么這個時候 Fig 一定就可以提高你的效率了,直接在下拉框中就可以選擇目錄了,非常高效。
Fig 的軟件中還有插件商店,不過還沒正式上線,但是也能看出 Fig 官方接下來的路線,插件功能必然會對 Fig 提供更多的功能。
補全規范
補全規范是一個聲明性的 schema ,它可以為 CLI 工具指定子命令、選項和參數,我們可以使用這些 schema 來生成建議。
下面是添加我們自己的補全規范的簡單示例,首先需要有 Node.js 和 npm 環境。然后 Fork 項目 https://github.com/withfig/autocomplete。
創建自己的 fork 后,將 repo 克隆到本地:
git clone https://github.com/YOUR_GITHUB_USERNAME/autocomplete.git fig-autocomplete
然后將你的 fork 鏈接回 upstream repo,以便你可以獲取最新的代碼當然也可以貢獻你的代碼:
cd fig-autocomplete
git remote add upstream https://github.com/withfig/autocomplete.git
然后你需要安裝相關依賴:
npm install
接著可以運行 create-spec 腳本來創建示例完成規范并將其命名為 abc:
npm run create-spec abc
create-spec 腳本將在你的默認編輯器中自動打開 ``./src/abc.ts`,可以看到如下所示的內容:
const completionSpec: Fig.Spec = {
name: "abc",
description: "",
subcommands: [
{
name: "my_subcommand",
description: "Example subcommand",
subcommands: [
{
name: "my_nested_subcommand",
description: "Example nested subcommand",
},
],
},
],
options: [
{
name: ["-h", "--help"],
description: "Help for abc",
},
],
};
然后我們可以執行 npm run dev 命令進入開發者模式,啟用此模式后,Fig 將在更新時自動重新編譯 abc.ts(或任何其他規范),然后 Fig 會從你的開發倉庫中加載補全規范。
現在我們可以打開一個新的終端窗口,輸入 abc 然后添加一個空格,你應該會看到剛剛創建的補全規范出現了自動補全提示功能。
關于 Fig 補全提示規范的更多用法可以參考官方文檔 https://fig.io/docs 了解更多。