VSCodeのシェルをMSYS2にする » 履歴 » リビジョン 4
リビジョン 3 (開発 次郎, 2025/03/23 11:07) → リビジョン 4/5 (開発 次郎, 2025/03/23 11:32)
h1. VSCodeのシェルをMSYS2にする
h2. 概要
統合ターミナルを起動する際にMSYS2プロファイルを選択するには、<code>terminal.integrated.profiles.windows</code> を <code>settings.json</code> に追加する。
h3. settings.jsonにMSYS2を追加する
"PowerShell", "Command Prompt", "Git Bash" がデフォルト部分で、"MSYS2 Bash" が追加した個所
<pre><code class="json">
"terminal.integrated.profiles.windows": {
"PowerShell": {
"source": "PowerShell",
"icon": "terminal-powershell"
},
"Command Prompt": {
"path": [
"${env:windir}\\Sysnative\\cmd.exe",
"${env:windir}\\System32\\cmd.exe"
],
"args": [],
"icon": "terminal-cmd"
},
"Git Bash": {
"source": "Git Bash"
},
"MSYS2 Bash": {
"path": [
"D:\\msys64\\usr\\bin\\bash.exe"
],
"args": [
"--login"
],
"env": {
"MSYSTEM": "MINGW64",
"CHERE_INVOKING": "1"
}
},
}
</code></pre>
h3. MSYS2のgit.exeを使う
h4. エラー履歴
* Visual Studio Codeでエラーメッセージ。「Git Failed to execute git」
** settings.json で git.pathにMSYS2のgit.exeを設定しただけではエラーになる
*** (例)"git.path": "D:/msys64/usr/bin/git.exe"
{{collapse(エラー時の出力,閉じる)
<pre>
2025-03-23 20:27:31.318 [info] [main] ログ レベル: Info
2025-03-23 20:27:31.318 [info] [main] Git の検証が検出されました: "D:/msys64/usr/bin/git.exe"
2025-03-23 20:27:31.318 [info] [main] "D:/msys64/usr/bin/git.exe" から Git "2.48.1" を使用しています
2025-03-23 20:27:31.318 [info] [Model][doInitialScan] Initial repository scan started
2025-03-23 20:27:31.439 [info] > git rev-parse --show-toplevel [122ms]
2025-03-23 20:27:31.869 [info] > git rev-parse --path-format=relative --show-toplevel [425ms]
2025-03-23 20:27:31.997 [info] > git rev-parse --git-dir --git-common-dir [69ms]
2025-03-23 20:27:32.007 [info] [Model][openRepository] Opened repository: d:\temp\test01
2025-03-23 20:27:32.011 [info] [Model][doInitialScan] Initial repository scan completed - repositories (1), closed repositories (0), parent repositories (0), unsafe repositories (0)
2025-03-23 20:27:32.065 [info] > git config --get commit.template [48ms]
2025-03-23 20:27:32.108 [info] > git for-each-ref --format=%(refname)%00%(upstream:short)%00%(objectname)%00%(upstream:track)%00%(upstream:remotename)%00%(upstream:remoteref) --ignore-case refs/heads/main refs/remotes/main [62ms]
2025-03-23 20:27:32.177 [info] > git status -z -uall [63ms]
2025-03-23 20:27:32.180 [info] > git for-each-ref --sort -committerdate --format %(refname) %(objectname) %(*objectname) [61ms]
2025-03-23 20:27:32.240 [info] > git config --get commit.template [45ms]
2025-03-23 20:27:32.252 [info] > git for-each-ref --format=%(refname)%00%(upstream:short)%00%(objectname)%00%(upstream:track)%00%(upstream:remotename)%00%(upstream:remoteref) --ignore-case refs/heads/main refs/remotes/main [64ms]
2025-03-23 20:27:32.265 [info] > git for-each-ref --format=%(refname)%00%(upstream:short)%00%(objectname)%00%(upstream:track)%00%(upstream:remotename)%00%(upstream:remoteref) --ignore-case refs/heads/main refs/remotes/main [63ms]
2025-03-23 20:27:32.297 [info] > git config --get --local branch.main.vscode-merge-base [40ms]
2025-03-23 20:27:32.329 [info] > git status -z -uall [60ms]
2025-03-23 20:27:32.331 [info] > git for-each-ref --sort -committerdate --format %(refname) %(objectname) %(*objectname) [57ms]
2025-03-23 20:27:32.357 [info] > git for-each-ref --format=%(refname)%00%(upstream:short)%00%(objectname)%00%(upstream:track)%00%(upstream:remotename)%00%(upstream:remoteref) --ignore-case refs/heads/origin/main refs/remotes/origin/main [55ms]
2025-03-23 20:27:32.395 [info] > git for-each-ref --format=%(refname)%00%(upstream:short)%00%(objectname)%00%(upstream:track)%00%(upstream:remotename)%00%(upstream:remoteref) --ignore-case refs/heads/main refs/remotes/main [57ms]
2025-03-23 20:27:32.411 [info] > git merge-base refs/heads/main refs/remotes/origin/main [46ms]
2025-03-23 20:27:32.438 [info] > git config --get --local branch.main.vscode-merge-base [39ms]
2025-03-23 20:27:32.467 [info] > git diff --name-status -z --diff-filter=ADMR 19a777a514e9a13fe4f5bb1c76382d88c37b6688...refs/remotes/origin/main [51ms]
2025-03-23 20:27:32.483 [info] > git for-each-ref --format=%(refname)%00%(upstream:short)%00%(objectname)%00%(upstream:track)%00%(upstream:remotename)%00%(upstream:remoteref) --ignore-case refs/heads/origin/main refs/remotes/origin/main [41ms]
2025-03-23 20:27:32.594 [info] > git check-ignore -v -z --stdin [42ms]
2025-03-23 20:27:42.090 [info] > git log --format=%H%n%aN%n%aE%n%at%n%ct%n%P%n%D%n%B -z --shortstat --diff-merges=first-parent -n50 --skip=0 --topo-order --decorate=full --stdin [91ms]
2025-03-23 20:27:44.835 [info] > git log --oneline --cherry main...main@{upstream} -- [63ms]
2025-03-23 20:27:44.835 [info] fatal: bad revision 'main...main@upstream'
2025-03-23 20:27:44.967 [info] > git pull --tags origin main [123ms]
2025-03-23 20:27:45.037 [info] > git config --get commit.template [63ms]
2025-03-23 20:27:45.053 [info] > git for-each-ref --format=%(refname)%00%(upstream:short)%00%(objectname)%00%(upstream:track)%00%(upstream:remotename)%00%(upstream:remoteref) --ignore-case refs/heads/main refs/remotes/main [74ms]
2025-03-23 20:27:45.117 [info] > git for-each-ref --sort -committerdate --format %(refname) %(objectname) %(*objectname) [53ms]
2025-03-23 20:27:45.123 [info] > git status -z -uall [63ms]
2025-03-23 20:28:23.411 [info] > git log --oneline --cherry main...main@{upstream} -- [61ms]
2025-03-23 20:28:23.411 [info] fatal: bad revision 'main...main@upstream'
2025-03-23 20:28:23.500 [info] > git pull --tags origin main [84ms]
2025-03-23 20:28:23.561 [info] > git config --get commit.template [53ms]
2025-03-23 20:28:23.579 [info] > git for-each-ref --format=%(refname)%00%(upstream:short)%00%(objectname)%00%(upstream:track)%00%(upstream:remotename)%00%(upstream:remoteref) --ignore-case refs/heads/main refs/remotes/main [68ms]
2025-03-23 20:28:23.640 [info] > git for-each-ref --sort -committerdate --format %(refname) %(objectname) %(*objectname) [51ms]
2025-03-23 20:28:23.643 [info] > git status -z -uall [59ms]
</pre>
}}
h2. 参考
* "Visual Studio Code の統合ターミナルで MSYS2 の bash を選択できるようにする":https://qiita.com/chirimen/items/04e2e10c86c9ecd1e158