Visual Studio Code pada Windows menggunakan PowerShell secara default sebagai terminal terintegrasi. Jika Anda ingin menggunakan Bash dari Visual Studio Code, langkah apa yang harus diikuti?
Visual Studio Code pada Windows menggunakan PowerShell secara default sebagai terminal terintegrasi. Jika Anda ingin menggunakan Bash dari Visual Studio Code, langkah apa yang harus diikuti?
Jawaban:
Anda tidak perlu lagi mengetikkan path bash.exe secara manual. Jawaban ini sudah usang. Sekarang Anda dapat beralih ke bash secara langsung. Pastikan Anda telah menginstal git.
Instal Git dari https://git-scm.com/download/win .
Kemudian buka Visual Studio Code dan buka palet perintah menggunakan Ctrl+ Shift+ P. Kemudian ketik "buka pengaturan pengguna", lalu pilih "Buka Pengaturan Pengguna" dari menu tarik turun.
Maka tab ini akan terbuka dengan pengaturan default di kiri dan pengaturan Anda di kanan:
Sekarang salin baris kode ini ke halaman pengaturan Anda sendiri (panel di sisi kanan) dan simpan -
"terminal.integrated.shell.windows": "C:\\Program Files\\Git\\bin\\bash.exe"
Catatan: "C:\\Program Files\Git\bin\bash.exe"
adalah path tempat bash.exe
file tersebut berada dari instalasi Git. Jika Anda menggunakan shell Bash Windows Subsystem untuk Linux (WSL), jalurnya adalah"C:\Windows\System32\bash.exe"
Sekarang tekan Ctrl+ `untuk membuka terminal dari Visual Studio Code. Dan Anda akan memiliki Bash -
"terminal.integrated.shell.windows": "C:\\Program Files\\Git\bin\bash.exe"
, terminal tidak terbuka. Mencoba "terminal.integrated.shell.windows": "C:\\Program Files\\Git\\bin\\bash.exe"
. Bekerja dengan sempurna untuk saya.
bash.exe
, dan tidak git-bash.exe
. Yang terakhir akan membuka terminal di luar kode VS sebagai jendela terpisah, sementara bash.exe
akan berjalan di dalam kode VS.
Instal Git dari https://git-scm.com/download/win
Buka Visual Studio Code dan tekan dan tahan Ctrl+ `untuk membuka terminal.
Buka palet perintah menggunakan Ctrl+ Shift+ P.
Jenis - Pilih Default Shell
Pilih Git Bash dari opsi
Klik ikon + di jendela terminal
Terminal baru sekarang akan menjadi terminal Git Bash. Berikan waktu beberapa detik untuk memuat Git Bash
Anda sekarang dapat beralih antara terminal yang berbeda juga dari dropdown di terminal.
Diperbarui: Versi baru dari Visual Studio Code memiliki perintah Select Default Shell di menu pull down terminal:
Ingat bahwa itu hanya mencantumkan shell yang ada di variabel lingkungan% PATH% Anda. Untuk kerang yang tidak ada di jalur Anda, lihat jawaban lain.
Kiat tambahan: saat Anda memulai bash, ia hanya akan mengeksekusi .bashrc
, jika Anda memiliki perintah inisialisasi, .bash_profile
Anda harus menyalinnya .bashrc
. Sangat penting untuk menggunakan lingkungan Conda di Git Bash.
Cara termudah sekarang (setidaknya dari Visual Studio Code 1.22 aktif) adalah dengan mengetik Shift+ Ctrl+ Puntuk membuka Command Palette dan ketik:
Select Default Shell
Sekarang Anda dapat dengan mudah memilih shell pilihan Anda di antara yang ditemukan di jalur Anda :
Untuk shell yang tidak ada di% PATH% Anda, lihat jawaban lain.
Lihat referensi shell Visual Studio Code lengkap . Ada banyak hal yang gemuk.
Tekan dan tahan Ctrl+ `untuk membuka terminal. Di dalam terminal, ketik bash
untuk menggunakan Git Bash di terminal. Catatan: Pastikan Anda menginstal Git Bash di mesin Anda.
Jika Anda ingin menggunakan PowerShell lagi, cukup ketik powershell
terminal. Untuk menggunakan baris perintah Windows, ketikkan cmd
terminal.
Pengaturan yang Anda pilih akan digunakan sebagai standar Anda.
exit
dari bash shell Anda yang berjalan di dalam shell default, lalu ketik powershell
karena bash tidak tahu apa itu PowerShell.
Bagi saya berikut ini adalah satu-satunya kombinasi yang berfungsi!
"terminal.integrated.shell.windows": "C:\\Program Files\\Git\\git-cmd.exe",
"terminal.integrated.shellArgs.windows": [
"--command=usr/bin/bash.exe",
"-l",
"-i"
]
Dengan git-bash.exe sebagai ...shell.windows
, setiap kali Bash membuka di luar Visual Studio !!
Banyak hal telah sedikit berubah karena pembaruan terbaru pada Visual Studio Code. Langkah-langkah berikut ini berhasil untuk saya.
Tekan Ctrl+ Shift+ Puntuk membuka langit-langit perintah Visual Studio Code.
Ketikkan >preferences: Open Settings (JSON)
area teks.
Tambahkan baris berikut di akhir file JSON yang ditampilkan di panel kanan Anda.
"terminal.integrated.shell.windows": "C:\\Program Files\\Git\\bin\\bash.exe"
Tutup dan buka kembali contoh Visual Studio Code Anda.
Saya mengikuti tutorial ini dari Paul DeCarlo untuk menggunakan Bash dari Subsistem Windows untuk Linux (WSL) alih-alih apa yang datang dengan Git Bash untuk Windows. Itu adalah langkah yang sama seperti di atas dalam jawaban, tetapi gunakan yang di bawah ini di Pengaturan Pengguna Anda sebagai gantinya.
"terminal.integrated.shell.windows": "C:\\Windows\\sysnative\\bash.exe",
Ini bekerja untuk saya pertama kali ... yang jarang untuk hal ini.
Ini, setidaknya bagi saya, akan membuat Visual Studio Code membuka jendela Bash baru sebagai terminal eksternal.
Jika Anda ingin lingkungan terintegrasi, Anda perlu menunjuk ke sh.exe
file di dalambin
folder instalasi Git Anda.
Jadi konfigurasi seharusnya mengatakan C:\\<my-git-install>\\bin\\sh.exe
.
Itu tergantung pada apakah Anda telah menginstal Git Bash di hanya pengguna saat ini atau semua pengguna:
Jika diinstal pada semua pengguna, masukkan "terminal.integrated.shell.windows": "C:\\Program Files\\Git\\bin\\bash.exe"
Pengaturan Pengguna Anda ( Ctrl+ Comma).
Jika hanya diinstal pada pengguna saat ini maka masukkan "terminal.integrated.shell.windows": "C:\\Users\\<name of your user>\\AppData\\Local\\Programs\\Git\\bin\\bash.exe"
Pengaturan Pengguna Anda ( Ctrl+ Comma).
Jika metode yang tercantum di atas tidak berfungsi, Anda harus mencoba solusi Christer yang mengatakan -
Jika Anda ingin lingkungan terintegrasi, Anda perlu menunjuk ke
sh.exe
file di dalambin
folder instalasi Git Anda.Jadi konfigurasi seharusnya mengatakan
C:\\<my-git-install>\\bin\\sh.exe
.
Catatan: Sh.exe dan bash.exe tampak sama dengan saya. Seharusnya tidak ada perbedaan di antara mereka.
Tambahkan Git\bin
direktori ke Path
variabel lingkungan. Direktori secara %ProgramFiles%\Git\bin
default. Dengan cara ini Anda dapat mengakses Git Bash hanya dengan mengetik bash
di setiap terminal termasuk terminal terintegrasi dari Visual Studio Code.
Saya sudah menyiapkan banyak conda
lingkungan WSL
(Bash di Ubuntu pada Windows), jadi saya ingin menggunakan instalasi Bash yang sama pada Visual Studio Code.
Untuk melakukan itu, saya hanya harus menentukan path dari executable Bash khusus ini ( bukan padaGit-Bash
) pada pengaturan Visual Studio Code:
"terminal.integrated.shell.windows": "C:\\Windows\\System32\\bash.exe"
PS : untuk memastikan di mana executable Ubuntu di Bash Anda diinstal pada mesin Windows Anda, buka Command prompt
(search cmd
:) dan jalankan:
where bash.exe
Jawaban ini mirip dengan jawaban pilihan teratas, tetapi dengan perbedaan penting: banyak jawaban sebelumnya pada pertanyaan ini fokus pada menjalankan Git Bash sementara jawaban saya berfokus pada menjalankan WSL Bash .
Aktifkan Windows Subsystem untuk Linux pada mesin Windows 10 Anda.
Buka Visual Studio Code dan tekan dan tahan Ctrl + `untuk membuka terminal.
Buka palet perintah dengan menggunakan Ctrl + Shift + P.
Tipe - Select Default Shell
.
Pilih WSL Bash
(BUKAN Git Bash
) dari opsi.
+
ikon di jendela terminal. Terminal baru sekarang akan menjadi terminal WSL Bash!Kode VS terbaru:
Ctrl+,
)edit in settings.json
. Klik dan tambahkan"terminal.integrated.shell.windows": "C:\\Program Files\\Git\\bin\\bash.exe",
Terminal Bash akan mencerminkan terminal.
Saya kebetulan berkonsultasi untuk perusahaan Fortune 500 dan sayangnya Windows 7 dan tidak ada hak administrator. Jadi Node.js, Npm, Visual Studio Code, dll. Didorong ke mesin saya - saya tidak bisa banyak berubah, dll ...
Untuk komputer ini yang menjalankan Windows 7:
Di bawah ini adalah pengaturan baru saya. Yang tidak berfungsi dikomentari.
{
"update.channel": "none",
"terminal.integrated.shell.windows": "C:\\Program Files\\Git\\bin\\bash.exe"
//"terminal.integrated.shell.windows": "C:\\Windows\\sysnative\\bash.exe"
}
Saya mencoba jawaban di atas pada vscode 1.42.1 dan mereka bekerja sejauh untuk mendapatkan terminal git bash. Jadi, intinya pengaturan ini hanya berfungsi untuk membuka bash shell dari terminal:
"terminal.integrated.shell.windows": "C:\\Program Files\\Git\\bin\\bash.exe"
Namun itu memiliki efek samping yang tidak diinginkan juga menjadi shell yang digunakan untuk membangun sesuatu dan yang merusak rantai MS C ++ karena \
karakter yang digunakan untuk pemisah jalur dipahami oleh bash sebagai karakter pelarian. Perbaikan lengkap untuk saya kemudian mengharuskan saya untuk menambahkan variabel tambahan ini, mengaturnya ke PowerShell:
"terminal.integrated.automationShell.windows": "C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\powershell.exe"
Sekarang, saya dapat memiliki terminal bash saya dan Ctrl-Shift-B
atau F5
bekerja tanpa masalah.
Oh, dan seperti poster-poster lain yang disebutkan, sumber untuk informasi ini adalah dokumentasi VSCode .
Bagaimana dengan cangkang yang terlepas atau tidak terkait dan code [args]
dukungan yang ?
Sementara jawaban lain berbicara tentang cara mengkonfigurasi dan menggunakan bash
dukungan terminal WSL yang terintegrasi VScode , mereka tidak menyelesaikan masalah "shell terpisah": shell yang tidak diluncurkan dari dalam VScode, atau yang entah bagaimana mendapatkan "terputus" dari server VScode contoh yang terkait dengan IDE.
Kerang tersebut dapat memberikan kesalahan seperti:
Command is only available in WSL or inside a Visual Studio Code terminal.
atau...
Unable to connect to VS Code server.
Error in request
Berikut ini skrip yang membuatnya mudah untuk menyelesaikan masalah ini.
Saya menggunakan ini setiap hari untuk menghubungkan shell dalam tmux
sesi dengan instance server VScode tertentu, atau untuk memperbaiki shell terintegrasi yang terlepas dari IDE hostingnya.
#!/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"
Jika Anda sudah memiliki "bash", "powershell" dan "cmd" CLI dan memiliki pengaturan jalur yang benar, maka beralih dari satu CLI ke yang lain dapat dilakukan dengan cara-cara berikut.
Ctrl+ ': Membuka jendela terminal dengan CLI default.
bash + enter: Beralih dari CLI default / saat ini ke bash CLI.
Powershell + enter: Beralih dari CLI default / saat ini ke Powershell CLI.
cmd + enter: Beralih dari CLI default / saat ini ke cmd CLI.
Versi VS Code yang saya gunakan adalah 1.45.0