プロジェクト

全般

プロフィール

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