qhqで管理しているリポジトリをVS Codeで開くシェル関数
前書き
複数のリポジトリを用いて開発している人は、x-motemen/ghqでリポジトリを管理するケースが多いでしょう。本記事では、ターミナルからghqで管理しているリポジトリをVS Codeで開く方法を紹介します。
ツールインストール
x-motemen/ghq および peco/peco を利用します。以下はgoコマンドを利用したインストール方法です。他のインストール方法を利用する場合は、公式サイトを確認してください。
1 2 |
go install github.com/x-motemen/ghq@latest go install github.com/peco/peco/cmd/peco@latest |
~/.bashrc もしくは ~/.zshrc に関数を定義
bashを利用している場合は ~/.bashrc
に、zshを利用している場合は~/.zshrc
に以下の関数を定義してください。なお、fishシェルでは利用できません。定義後は、sourceコマンドなどで ~/.bashrc
や~/.zshrc
を再読込してください。
1 2 3 4 5 6 7 8 9 10 11 |
function vscode() { if [ -n "$1" ]; then repo=$(ghq list | grep "$1" | head -n 1) else repo=$(ghq list | peco) fi if [ -n "${repo}" ]; then code "$(ghq root)/${repo}" fi } |
上記のvscode関数は、ghq list
でリポジトリ一覧を表示し、その一覧をパイプで受け取ったpecoコマンドがインタラクティブにリポジトリをフィルタリング(リポジトリの選択)できるようにします。
codeコマンドは、VS Codeを起動するコマンドであり、$(ghq root)/${repo}
はユーザーが選択したリポジトリの絶対パスを表します。引数にリポジトリ名を指定した場合は、pecoコマンドを使用せずに直接リポジトリを VS Codeで開きます。
以下、vscode関数の実行例です。選択したリポジトリをVS Codeで開きます。
codeコマンドへのPATHが通っていない場合
macOSでは、VS Code(GUI)を利用しているのにも関わらず、codeコマンドのPATHが通っていない場合があります。公式手順の方法でPATHを通します。
- VS Codeを起動
- コマンドパレット(Cmd+Shift+P)を開く
- “shell command”と入力
- 選択肢”Shell Command: Install ‘code’ command in PATH” を実行
最後に
本来であれば記事にするような内容ではないです。が、私はdotfilesをGitHubで管理していないので、vscode関数をコピペできるように記事を書きました。
ロシア人と国際結婚した地方エンジニア。
小学〜大学院、就職の全てが新潟。
大学の専攻は福祉工学だったのに、エンジニアとして就職。新卒入社した会社ではOS開発や半導体露光装置ソフトを開発。現在はサーバーサイドエンジニアとして修行中。HR/HM(メタル)とロシア妻が好き。サイトに関するお問い合わせやTwitterフォローは、お気軽にどうぞ。