推薦一個工作區(qū)管理小工具

起因

工作中的業(yè)務(wù)線比較復(fù)雜,每個業(yè)務(wù)線對應(yīng)一個項目,經(jīng)常會遇到多個需求并行開發(fā)或者在多個項目中排查問題的情況,需要頻繁在不同項目之間切換。

日常接觸到各種新工具自己也會上手試一下,有時候研究到一半可能會被其他事情中斷導(dǎo)致忘記。

所以編寫了一個簡單的小工具滿足自己的需求:

  • 可以記錄工作區(qū)目錄,增加和刪除
  • 可以直接通過VS Code打開工作區(qū)進行編輯

小工具介紹

這個小工具使用了一年多,在大部分場景下滿足我自己的需求,也提高了開發(fā)效率。小工具使用nodejs編寫,使用了inquire.js來做交互提示,通過上下鍵選擇,回車則使用VS Code打開。使用使用效果:

recent管理工作區(qū)

其他命令(recent可以簡寫為: r):

  • recent add + dirname (相對地址或絕對地址)
  • recent del + dirname
  • recent ls 查看已添加的所有工作區(qū)數(shù)據(jù)
  • recent ls + str 根據(jù)輸入的內(nèi)容篩選工作區(qū)數(shù)據(jù)
  • recent + str 根據(jù)輸入內(nèi)容進行匹配并打開

具體使用

在環(huán)境變量中添加code命令

在VS Code中使用快捷鍵 Command/ + shift + P 打開命令行面板,執(zhí)行安裝code的shell命令。

安裝完成后就可以在命令行中通過code .在VS Code中打開文件或文件夾。

添加code命令
link recent到全局命令

因為功能比較簡單,并沒有封裝成npm包,代碼放在了GitHub: tools

clone之后執(zhí)行:

npm install && npm link

就可以通過recent(或簡寫r)來管理工作區(qū)了,會調(diào)用code命令在VS Code中打開工作區(qū)。

其他

安裝的code命令做了什么操作
# 查看code命令地址
which code
# 查看軟連接指向
ls -a /usr/local/bin/code
查看具體文件

找到具體的文件之后,發(fā)現(xiàn)是一個shell腳本:

#!/usr/bin/env bash
#
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License. See License.txt in the project root for license information.

function realpath() { python -c "import os,sys; print(os.path.realpath(sys.argv[1]))" "$0"; }
CONTENTS="$(dirname "$(dirname "$(dirname "$(dirname "$(realpath "$0")")")")")"
ELECTRON="$CONTENTS/MacOS/Electron"
CLI="$CONTENTS/Resources/app/out/cli.js"
ELECTRON_RUN_AS_NODE=1 "$ELECTRON" "$CLI" "$@"
exit $?

在MacOS下查看了一下:

$ELECTRON/Applications/Visual Studio Code.app/Contents/MacOS/Electron

$CLI/Applications/Visual Studio Code.app/Contents/Resources/app/out/cli.js

$@就是接收到的文件夾或文件地址

官網(wǎng)關(guān)于ELECTRON_RUN_AS_NODE描述
open命令

在MacOS下,我們可以通過open -a來指定的應(yīng)用并傳參:

# 使用Typora打開文件或文件夾
open -a Typora README.md 
# 使用Chrome打開文件或文件夾
open -a open -a Google\ Chrome cat.png
open -a open -a Google\ Chrome .

默認(rèn)情況下,open命令會使用文件的默認(rèn)應(yīng)用程序打開。如果文件是 URL 形式,則文件將作為 URL 打開:

# 目錄默認(rèn)使用Finder打開
open .
# html會用默認(rèn)瀏覽器打開
open index.htmls

通過-a參數(shù)可以指定應(yīng)用程序來打開文件或目錄,其他支持的參數(shù)可以通過open -h查看。

為Open命令創(chuàng)建快捷命令

通過Open命令我們可以使用指定的程序打開指定文件或目錄,但是open命令打開比較繁瑣,需要輸入完整的程序名稱。

如果想直接通過typora打開markdown文件,我們可以為Open創(chuàng)建快捷命令。

Node.js版本:

#!/usr/bin/env node
// typora.js
const { spawn } = require('child_process')
const params = process.argv.slice(2)
spawn('open', ['-a', 'Typora', ...params]);

創(chuàng)建軟連接

  • 直接創(chuàng)建軟連接

    # 添加可執(zhí)行權(quán)限
    chmod +x ./recent.js
    # 鏈接到全局  ln -s 源文件絕對路徑 本地環(huán)境變量
    ln -s /User/xxx/typora.js /usr/local/bin/typora 
    
  • 或者放到單獨的目錄,在package.json中指定

    {
      "bin":{
        "typora":"./typora.js",
        "t":"./typora.js"
      } 
    }
    

    目錄執(zhí)行l(wèi)ink,會自動添加可執(zhí)行權(quán)限并添加軟連接到本地環(huán)境變量

    npm link
    

我們就可以在命令行中使用typora來通過Typora打開指定文件/文件夾了,類似的我們可以創(chuàng)建任何快捷命令來打開我們想使用的軟件。

歡迎關(guān)注微信:“混沌前端”

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容