­

使用 Visual Studio 自定義外部命令 (External Tools) 快速打開 git bash 等各種工具

  • 2020 年 2 月 10 日
  • 筆記

Visual Studio 支援自定義的外部命令,於是即便 Visual Studio 原生沒有的功能,插件沒有提供的功能,你也能僅僅通過配置就實現。比如,我們可以一鍵打開 Git Bash 輸入 git 命令,比如可以一鍵打開項目或者文件所在的文件夾。

本文將教你如何自定義 Visual Studio 的外部命令,並提供一些我自己正在使用的外部命令配置。

看,就是一鍵的按鈕!

所以,你想不想也在 Visual Studio 的工具欄上增加高效率的功能按鈕呢?

  • 一鍵打開 Git Bash
  • 一鍵打開解決方案所在文件夾
  • 一鍵 Blame 正在打開的文件 (話說 VS17 的 Blame 功能也沒好到哪兒去,還是得 TortoiseGit)

我們開始吧!

第一步:自定義外部命令

打開 [工具] -> [外部命令],然後在新打開的對話框中編輯外部命令。

為了方便,我把我自己正在用的幾個外部命令分享給大家:

  1. 用於一鍵打開 Git Bash,以便快速輸入 git 命令
    • [Title] 打開 Git Bash
    • [Command] C:Program FilesGitgit-bash.exe
    • [Arguments] --cd="$(SolutionDir)."
    • [InitialDirectory] "$(SolutionDir)"
  2. 用於快速打開解決方案所在的文件夾(通常這也是 git 倉庫的根目錄)
    • [Title] 在資源管理器中查看此解決方案
    • [Command] C:Windowsexplorer.exe
    • [Arguments] /select,"$(SolutionDir)$(SolutionFileName)"
    • [InitialDirectory] "$(SolutionDir)"
  3. 用於快速打開當前正在編輯的文件所在的文件夾
    • [Title] 在資源管理器中查看此文件
    • [Command] C:Windowsexplorer.exe
    • [Arguments] /select,"$(ItemPath)"
    • [InitialDirectory] "$(ItemDir)"
  4. 使用 VSCode 打開此解決方案(這可以用來快速編輯某些 VS 中不方便編輯的文件)
    • [Title] 使用 VSCode 編輯
    • [Command] %LocalAppData%ProgramsMicrosoft VS CodeCode.exe
    • [Arguments] "$(SolutionDir)"
    • [InitialDirectory] "$(SolutionDir)"
  5. 使用 TortoiseGit 來 Blame 此文件(而且還會自動定位到當前行)
    • [Title] 追溯此文件
    • [Command] C:Program FilesTortoiseGitbinTortoiseGitBlame.exe
    • [Arguments] "$(ItemPath)" /line:$(CurLine)
    • [InitialDirectory] "$(ItemDir)"
  6. 使用 TortoiseGit 來查看此文件的 git 日誌
    • [Title] 查看此文件的歷史記錄
    • [Command] C:Program FilesTortoiseGitbinTortoiseGitProc.exe
    • [Arguments] /command:log /path:"$(ItemPath)"
    • [InitialDirectory] "$(ItemDir)"

第二步:自定義工具條按鈕

點擊工具條最右側的小箭頭,然後添加刪除按鈕,在長長的下拉框的最後,有一個「自定義」菜單項。打開,我們接下來的操作都在這裡面。

隨後,按照下圖操作添加一個外部命令。注意,外部命令的序號從 1 開始,就是我們在上一節外部命令框中那些命令的序號。

然後,編輯這個外部命令。

在一個個添加完成之後,Visual Studio 的頂部工具欄中就會出現我們剛剛添加的各種外部命令了。點擊可以一鍵使用相應的功能。

本文會經常更新,請閱讀原文: https://blog.walterlv.com/post/customize-external-tool

本作品採用 知識共享署名-非商業性使用-相同方式共享 4.0 國際許可協議 進行許可。歡迎轉載、使用、重新發布,但務必保留文章署名 呂毅 (包含鏈接: https://blog.walterlv.com ),不得用於商業目的,基於本文修改後的作品務必以相同的許可發布。如有任何疑問,請 與我聯繫 (walter.lv@qq.com)