回答:
bash.exeパスを手動で入力する必要がなくなりました。この回答は廃止されました。これで、bashに直接切り替えることができます。gitがインストールされていることを確認してください。
https://git-scm.com/download/winからGitをインストールします。
そして、オープンVisual Studioのコードと使用して、コマンドパレットを開きCtrl+ Shift+ P。次に、「ユーザー設定を開く」と入力し、ドロップダウンメニューから[ユーザー設定を開く]を選択します。
次に、このタブが開き、左側にデフォルト設定、右側に設定が表示されます。
次に、このコード行を独自の設定ページ(右側のペイン)にコピーして保存します-
"terminal.integrated.shell.windows": "C:\\Program Files\\Git\\bin\\bash.exe"
注: "C:\\Program Files\Git\bin\bash.exe"
は、bash.exe
Gitインストールからのファイルのパスです。Linux(WSL)Bashシェル用のWindowsサブシステムを使用している場合、パスは次のようになります。"C:\Windows\System32\bash.exe"
Ctrl+ `を押して、Visual Studio Codeからターミナルを開きます。そして、あなたはバッシュを持っているでしょう-
"terminal.integrated.shell.windows": "C:\\Program Files\\Git\bin\bash.exe"
。ターミナルが開いていませんでした。試しました "terminal.integrated.shell.windows": "C:\\Program Files\\Git\\bin\\bash.exe"
。私には完璧に働きました。
bash.exe
、ではなくにリンクしてくださいgit-bash.exe
。後者はVSコードの外部でターミナルを別のウィンドウとして開き、bash.exe
VSコードの内部で実行します。
https://git-scm.com/download/winからGitをインストールします
Visual Studio Code を開き、Ctrl+ `を押し続けてターミナルを開きます。
Ctrl+ Shift+ を使用してコマンドパレットを開きPます。
タイプ-デフォルトのシェルを選択
オプションからGit Bashを選択します
ターミナルウィンドウの+アイコンをクリックします
新しいターミナルはGit Bashターミナルになります。Git Bashをロードするのに数秒かかります
これで、ターミナルのドロップダウンからさまざまなターミナルを切り替えることができます。
更新: Visual Studio Codeの新しいバージョンでは、ターミナルのプルダウンメニューに[既定のシェルの選択 ]コマンドがあります。
%PATH%環境変数にあるシェルのみをリストすることに注意してください。パスに含まれていないシェルについては、他の回答を参照してください。
追加のヒント:bashを起動すると.bashrc
、実行されるだけです。初期化コマンドがある.bash_profile
場合は、それをにコピーする必要があります.bashrc
。Git BashでConda環境を使用するために不可欠です。
現在最も簡単な方法(少なくともVisual Studio Code 1.22以降)は、「Shift+ Ctrl+」と入力しPてコマンドパレットを開き、次のように入力することです。
Select Default Shell
これで、パスにあるシェルの中から好みのシェルを簡単に選択できます。
%PATH%にないシェルについては、他の回答を参照してください。
完全なVisual Studio Codeシェルリファレンスをご覧ください。肉がたくさんあります。
長押しCtrl+ `ターミナルをオープンします。ターミナルで、ターミナルでbash
Git Bashを使用するように入力します。注:Git Bashがマシンにインストールされていることを確認してください。
PowerShellを再度使用する場合powershell
は、ターミナルに入力するだけです。Windowsコマンドラインを使用するにcmd
は、ターミナルに入力します。
選択した設定がデフォルトとして使用されます。
exit
には、デフォルトのシェル内で実行されているbashシェルpowershell
から、bashがpowershellが何であるかを認識していないため、次のように入力する必要があります。
私にとっては、次の組み合わせだけが機能します。
"terminal.integrated.shell.windows": "C:\\Program Files\\Git\\git-cmd.exe",
"terminal.integrated.shellArgs.windows": [
"--command=usr/bin/bash.exe",
"-l",
"-i"
]
git-bash.exeをとして、...shell.windows
BashがVisual Studioの外部で開くたびに!!
Visual Studio Codeの最新の更新により、状況が少し変更されました。次の手順でうまくいきます。
Ctrl+ Shift+ Pを押して、Visual Studio Codeコマンドの口蓋を開きます。
>preferences: Open Settings (JSON)
テキスト領域に入力します。
右側のペインに表示されるJSONファイルの最後に次の行を追加します。
"terminal.integrated.shell.windows": "C:\\Program Files\\Git\\bin\\bash.exe"
Visual Studio Codeインスタンスを閉じて再度開きます。
私はPaul DeCarloのこのチュートリアルに従って、Git Bash for Windowsに付属しているものの代わりに、Linux(WSL)のWindowsサブシステムのBashを使用しました。これらは上記の回答と同じ手順ですが、代わりにユーザー設定で以下を使用してください。
"terminal.integrated.shell.windows": "C:\\Windows\\sysnative\\bash.exe",
これは私にとって初めて機能しました...これはまれです。
現在のユーザーのみにGit Bashをインストールしたか、すべてのユーザーにGit Bashをインストールしたかによって異なります。
すべてのユーザーにインストールされている場合は"terminal.integrated.shell.windows": "C:\\Program Files\\Git\\bin\\bash.exe"
、ユーザー設定(Ctrl+ Comma)に入力します。
現在のユーザーのみにインストールされている場合は"terminal.integrated.shell.windows": "C:\\Users\\<name of your user>\\AppData\\Local\\Programs\\Git\\bin\\bash.exe"
、ユーザー設定(Ctrl+ Comma)に入力します。
上記の方法が機能しない場合は、Christerのソリューションを試してみてください-
統合環境が必要な場合は、Gitインストールのフォルダー
sh.exe
内のファイルをポイントする必要がありbin
ます。したがって、構成は次のようになります
C:\\<my-git-install>\\bin\\sh.exe
。
注: sh.exeとbash.exeはまったく同じように見えます。それらの間に違いはないはずです。
Git\bin
ディレクトリをPath
環境変数に追加します。ディレクトリは%ProgramFiles%\Git\bin
デフォルトです。このようにして、Visual Studio Codeの統合ターミナルを含むすべてのターミナルに入力 するだけでGit Bashにアクセスできますbash
。
(Windows上のUbuntu上のBash)で多くのconda
環境を既にセットアップしていたWSL
ため、Visual Studio Codeで同じBashインストールを使用したいと思いました。
これを行うには、Visual Studio Codeの設定で(の代わりにGit-Bash
)この特定のBash実行可能ファイルのパスを指定する必要がありました。
"terminal.integrated.shell.windows": "C:\\Windows\\System32\\bash.exe"
PS:Ubuntu on Bash実行可能ファイルがWindowsマシンのどこにインストールされているかを確認するには、Command prompt
(検索:)を開いてcmd
実行します。
where bash.exe
この回答は上位投票の回答と似ていますが、重要な違いがあります。この質問に関するこれまでの回答の多くはGit Bashの実行に焦点を当てていますが、私の回答はWSL Bashの実行に焦点を当てています。
Windows 10マシンでLinux用のWindowsサブシステムを有効にします。
Visual Studio Code Ctrl + `を開き、押し続けてターミナルを開きます。
を使用してコマンドパレットを開きCtrl + Shift + Pます。
タイプ- Select Default Shell
。
オプションからWSL Bash
(NOT Git Bash
)を選択します。
+
ターミナルウィンドウのアイコンをクリックします。新しいターミナルは、WSL Bashターミナルになります。最新のVSコード:
Ctrl+,
)。edit in settings.json
。リンクを参照してください。クリックして追加"terminal.integrated.shell.windows": "C:\\Program Files\\Git\\bin\\bash.exe",
Bashターミナルはターミナルに反映されます。
私はたまたまフォーチュン500企業のコンサルティングを行っていますが、残念なことにWindows 7であり、管理者権限がありません。したがって、Node.js、Npm、Visual Studio Codeなどが私のマシンにプッシュされました-多くの変更はできませんなど...
Windows 7を実行しているこのコンピューターの場合:
以下は私の新しい設定です。機能しないものはコメントアウトされています。
{
"update.channel": "none",
"terminal.integrated.shell.windows": "C:\\Program Files\\Git\\bin\\bash.exe"
//"terminal.integrated.shell.windows": "C:\\Windows\\sysnative\\bash.exe"
}
vscode 1.42.1の時点で上記の回答を試しましたが、git bashターミナルを取得するために機能しました。つまり、この設定は、ターミナルからbashシェルを開く場合にのみ機能します。
"terminal.integrated.shell.windows": "C:\\Program Files\\Git\\bin\\bash.exe"
ただし\
、パスの区切り文字として使用される文字はbashによってエスケープ文字として認識されるため、物事を構築するために使用されるシェルでもあり、MS C ++チェーンを破壊するという望ましくない副作用があります。私のための完全な修正では、この追加の変数を追加して、Powershellに設定する必要がありました。
"terminal.integrated.automationShell.windows": "C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\powershell.exe"
これで、bashターミナルをCtrl-Shift-B
使用してF5
問題なく作業できます。
ああ、そして他のポスターが述べたように、この情報のソースはVSCodeのドキュメントです。
切り離された、または関連のないシェルとcode [args]
サポートについてはどうですか?
他の回答では、VScode統合WSL bash
端末サポートの構成方法と使用方法について説明していますが、「分離されたシェル」の問題は解決されていません。 IDEに関連付けられたインスタンス。
このようなシェルは、次のようなエラーを発生させる可能性があります。
Command is only available in WSL or inside a Visual Studio Code terminal.
または...
Unable to connect to VS Code server.
Error in request
これがスクリプトですこの問題を簡単に解決できるをます。
私はこれを毎日使用tmux
して、特定のVScodeサーバーインスタンスとのセッションでシェルを接続するか、ホスティングIDEから切り離された統合シェルを修正します。
#!/bin/bash
# codesrv-connect
#
# Purpose:
# Copies the vscode connection environment from one shell to another, so that you can use the
# vscode integrated terminal's "code [args]" command to communicate with that instance of vscode
# from an unrelated shell.
#
# Usage:
# 1. Open an integrated terminal in vscode, and run codesrv-connect
# 2. In the target shell, cd to the same directory and run
# ". .codesrv-connect", or follow the instruction printed by codesrv-connect.
#
# Setup:
# Put "codesrv-connect somewhere on your PATH (e.g. ~/bin)"
#
# Cleanup:
# - Delete abandoned .codesrv-connect files when their vscode sessions die.
# - Do not add .codesrv-connect files to git repositories.
#
# Notes:
# The VSCODE_IPC_HOOK_CLI environment variable points to a socket which is rather volatile, while the long path for the 'code' alias is more stable: vscode doesn't change the latter even across a "code -r ." reload. But the former is easily detached and so you need a fresh value if that happens. This is what codesrv-connect does: it captures the value of these two and writes them to .codesrv-connect in the current dir.
#
# Verinfo: v1.0.0 - les.matheson@gmail.com - 2020-03-31
#
function errExit {
echo "ERROR: $@" >&2
exit 1
}
[[ -S $VSCODE_IPC_HOOK_CLI ]] || errExit "VSCODE_IPC_HOOK_CLI not defined or not a pipe [$VSCODE_IPC_HOOK_CLI]"
if [[ $(which code) != *vscode-server* ]]; then
errExit "The 'code' command doesn't refer to something under .vscode-server: $(type -a code)"
fi
cat <<EOF >.codesrv-connect
# Temp file created by $(which codesrv-connect): source this into your working shell like '. .codesrv-connect'
# ( git hint: add ".codesrv-connect" to .gitignore )
#
cd "$PWD"
if ! test -S "$VSCODE_IPC_HOOK_CLI"; then
echo "ERROR: $VSCODE_IPC_HOOK_CLI not a socket. Dead session."
else
export VSCODE_IPC_HOOK_CLI="$VSCODE_IPC_HOOK_CLI"
alias code=$(which code)
echo "Done: the 'code' command will talk to socket \"$VSCODE_IPC_HOOK_CLI\" now."
echo "You can delete .codesrv-connect when the vscode server context dies, or reuse it in other shells until then."
fi
EOF
echo "# OK: run this to connect to vscode server in a destination shell:"
echo ". $PWD/.codesrv-connect"
「bash」、「powershell」、および「cmd」の CLI がすでにあり、正しいパス設定がある場合は、次の方法でCLIから別のCLIに切り替えることができます。
Ctrl+ ':デフォルトのCLIでターミナルウィンドウを開きます。
bash + enter:デフォルト/現在のCLIからbash CLIに切り替えます。
powershell + enter:デフォルト/現在のCLIからpowershell CLI に切り替えます。
cmd + enter:デフォルト/現在のCLIからcmd CLIに切り替えます。
私が使用しているVSコードバージョンは1.45.0です