विंडोज पर विजुअल स्टूडियो कोड एकीकृत टर्मिनल के रूप में डिफ़ॉल्ट रूप से PowerShell का उपयोग करता है। यदि आप विज़ुअल स्टूडियो कोड से बैश का उपयोग करना चाहते हैं, तो किन चरणों का पालन किया जाना चाहिए?
विंडोज पर विजुअल स्टूडियो कोड एकीकृत टर्मिनल के रूप में डिफ़ॉल्ट रूप से PowerShell का उपयोग करता है। यदि आप विज़ुअल स्टूडियो कोड से बैश का उपयोग करना चाहते हैं, तो किन चरणों का पालन किया जाना चाहिए?
जवाबों:
अब आपको मैन्युअल रूप से bash.exe पथ में टाइप करने की आवश्यकता नहीं है। यह उत्तर पदावनत है। अब आप सीधे बैश पर जा सकते हैं। बस सुनिश्चित करें कि आपने गिट स्थापित किया है।
Https://it-scm.com/download/win से Git इंस्टॉल करें ।
फिर विज़ुअल स्टूडियो कोड खोलें और कमांड पैलेट का उपयोग करके Ctrl+ Shift+ खोलें P। फिर "ओपन यूजर सेटिंग" टाइप करें, और फिर ड्रॉप डाउन मेनू से "ओपन यूजर सेटिंग्स" चुनें।
फिर यह टैब बाईं ओर डिफ़ॉल्ट सेटिंग्स और दाईं ओर आपकी सेटिंग्स के साथ खुल जाएगा:
अब कोड की इस लाइन को अपने स्वयं के सेटिंग पृष्ठ (दाहिने हाथ की ओर फलक) पर कॉपी करें और सहेजें -
"terminal.integrated.shell.windows": "C:\\Program Files\\Git\\bin\\bash.exe"
नोट: "C:\\Program Files\Git\bin\bash.exe"
वह रास्ता है जहां bash.exe
फ़ाइल Git इंस्टॉलेशन से स्थित है। यदि आप लिनक्स (WSL) बैश शेल के लिए विंडोज सबसिस्टम का उपयोग कर रहे हैं, तो पथ होगा"C:\Windows\System32\bash.exe"
अब Visual Studio कोड से टर्मिनल खोलने के लिए Ctrl+ दबाएँ `। और आपके पास बैश होगा -
"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
। उत्तरार्द्ध वीएस कोड के बाहर एक अलग विंडो के रूप में एक टर्मिनल खोलेगा, जबकि bash.exe
वीएस कोड के अंदर चलेगा।
Https://it-scm.com/download/win से Git इंस्टॉल करें
विजुअल स्टूडियो कोड खोलें और टर्मिनल खोलने के लिए Ctrl+ दबाकर रखें `।
Ctrl+ Shift+ का उपयोग करके कमांड पैलेट खोलें P।
प्रकार - डिफ़ॉल्ट शैल चुनें
विकल्पों में से गिट बैश का चयन करें
टर्मिनल विंडो में + आइकन पर क्लिक करें
नया टर्मिनल अब गिट बैश टर्मिनल होगा। गिट बैश लोड करने के लिए इसे कुछ सेकंड दें
अब आप टर्मिनल में ड्रॉपडाउन से विभिन्न टर्मिनलों के बीच टॉगल कर सकते हैं।
अपडेट किया गया: विजुअल स्टूडियो कोड के नए संस्करणों में टर्मिनल पुल डाउन मेनू में डिफॉल्ट शेल कमांड का चयन करें :
याद रखें कि यह केवल उन शेल को सूचीबद्ध करता है जो आपके% PATH% पर्यावरण चर में हैं। ऐसे गोले जो आपके रास्ते में नहीं हैं, अन्य उत्तर देखें।
अतिरिक्त टिप: जब आप बैश शुरू करते हैं तो यह बस निष्पादित होगा .bashrc
, यदि आपके पास आरंभिक कमांड हैं, तो आपको .bash_profile
इसे कॉपी करना होगा .bashrc
। Git Bash में कॉनडा एनवायरमेंट्स का उपयोग करना आवश्यक है ।
अब सबसे आसान तरीका है (कम से कम विजुअल स्टूडियो कोड 1.22 से) कमांड पैलेट खोलने के लिए Shift+ Ctrl+ टाइप करें और टाइप करें:P
Select Default Shell
अब आप आसानी से अपने रास्ते में पाए जाने वाले लोगों के बीच अपने पसंदीदा शेल का चयन कर सकते हैं :
ऐसे शेल के लिए जो आपके% PATH% में नहीं हैं, अन्य उत्तर देखें।
देखें पूरा दृश्य स्टूडियो कोड खोल संदर्भ । बहुत सारा भावपूर्ण सामान है।
टर्मिनल खोलने के लिए Ctrl+ दबाकर रखें `। टर्मिनल के अंदर, टर्मिनल bash
में गेट बैश का उपयोग करने के लिए टाइप करें। नोट: सुनिश्चित करें कि आपके पास आपकी मशीन पर Git Bash स्थापित है।
यदि आप फिर से PowerShell का उपयोग करना चाहते हैं, powershell
तो टर्मिनल में टाइप करें। विंडोज कमांड लाइन का उपयोग करने के लिए, cmd
टर्मिनल में टाइप करें।
आपके द्वारा चुनी गई सेटिंग का उपयोग आपके डिफ़ॉल्ट के रूप में किया जाएगा।
exit
अपने गोले के गोले को डिफ़ॉल्ट शेल के अंदर से चलाने की आवश्यकता है , फिर 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
, हर बार बैश विजुअल स्टूडियो के बाहर खुल रहा था !!
विज़ुअल स्टूडियो कोड के नवीनतम अपडेट के कारण चीजें थोड़ी बदल गई हैं। निम्नलिखित चरण मेरे लिए काम करते हैं।
दबाएँ CtrlVisual Studio कोड कमांड तालू खोलने के लिए + Shift+P ।
प्रकार >preferences: Open Settings (JSON)
पाठ क्षेत्र में करें।
JSON फ़ाइल के अंत में निम्नलिखित पंक्तियाँ जोड़ें जो आपके दाहिने हाथ के फलक में प्रदर्शित होती हैं।
"terminal.integrated.shell.windows": "C:\\Program Files\\Git\\bin\\bash.exe"
बंद करें और अपने Visual Studio कोड उदाहरण को फिर से खोलें।
मैंने विंडोज के लिए Git Bash के साथ आने वाले लिनक्स (WSL) के लिए विंडोज सबसिस्टम से बैश का उपयोग करने के लिए पॉल डेकार्लो के इस ट्यूटोरियल का अनुसरण किया । वे उत्तर में ऊपर के समान ही चरण हैं, लेकिन नीचे अपनी उपयोगकर्ता सेटिंग में उपयोग करें।
"terminal.integrated.shell.windows": "C:\\Windows\\sysnative\\bash.exe",
यह मेरे लिए पहली बार काम किया ... जो इस सामान के लिए दुर्लभ है।
यह इस बात पर निर्भर करता है कि आपने वर्तमान उपयोगकर्ता में 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) में डालें ।
यदि ऊपर सूचीबद्ध तरीके काम नहीं करते हैं, तो आपको क्रिस्टर के समाधान की कोशिश करनी चाहिए जो कहता है -
यदि आप एकीकृत वातावरण चाहते हैं तो आपको अपने Git इंस्टॉलेशन
sh.exe
केbin
फ़ोल्डर में फ़ाइल को इंगित करना होगा ।तो विन्यास को कहना चाहिए
C:\\<my-git-install>\\bin\\sh.exe
।
नोट: sh.exe और bash.exe पूरी तरह से मेरे लिए समान हैं। उनमें कोई अंतर नहीं होना चाहिए।
Git\bin
निर्देशिका को Path
पर्यावरण चर में जोड़ें । निर्देशिका %ProgramFiles%\Git\bin
डिफ़ॉल्ट रूप से है। इस तरह आप विजुअल स्टूडियो कोड के एकीकृत टर्मिनल सहित हर टर्मिनल में टाइपिंग के साथ गिट बैश का उपयोग कर सकते हैं bash
।
मैंने पहले ही बहुत सारे conda
वातावरण सेट कर दिए थे WSL
(विंडोज पर उबंटू पर बैश), इसलिए मैं विज़ुअल स्टूडियो कोड पर उसी बैश इंस्टॉलेशन का उपयोग करना चाहता था।
ऐसा करने के लिए, मैं सिर्फ इस विशेष बैश निष्पादन योग्य (के पथ निर्दिष्ट करना पड़ा बजाय काGit-Bash
दृश्य स्टूडियो संहिता की सेटिंग्स पर):
"terminal.integrated.shell.windows": "C:\\Windows\\System32\\bash.exe"
पुनश्च : यह सुनिश्चित करने के लिए कि आपकी उबंटू निष्पादन योग्य वस्तु पर उबंटू आपके विंडोज मशीन पर स्थापित है, Command prompt
(खोज :) खोलें cmd
और चलाएँ:
where bash.exe
यह उत्तर शीर्ष मतदान के उत्तर के समान है, लेकिन एक महत्वपूर्ण अंतर के साथ: इस सवाल पर पिछले जवाबों में से बहुत से गिट बैश को चलाने पर ध्यान केंद्रित करते हैं जबकि मेरा जवाब डब्ल्यूएसएल बैश को चलाने पर केंद्रित है ।
अपने विंडोज 10 मशीन पर लिनक्स के लिए विंडोज सबसिस्टम को सक्षम करें।
विजुअल स्टूडियो कोड Ctrl + `खोलें और टर्मिनल को खोलने के लिए दबाए रखें ।
कमांड पैलेट का उपयोग करके खोलें Ctrl + Shift + P।
प्रकार - Select Default Shell
।
विकल्पों में से चुनें WSL Bash
(नहीं Git Bash
)।
+
टर्मिनल विंडो में आइकन पर क्लिक करें । नया टर्मिनल अब WSL बैश टर्मिनल होगा!नवीनतम वीएस कोड:
Ctrl+,
)edit in settings.json
। क्लिक करें और जोड़ें"terminal.integrated.shell.windows": "C:\\Program Files\\Git\\bin\\bash.exe",
बैश टर्मिनल पर प्रतिबिंबित होगा।
मैं एक फॉर्च्यून 500 कंपनी के लिए परामर्श कर रहा हूं और यह दुख की बात है विंडोज 7 और कोई व्यवस्थापक विशेषाधिकार नहीं है। इस प्रकार Node.js, Npm, Visual Studio Code, आदि को मेरी मशीन में धकेल दिया गया - मैं बहुत कुछ नहीं बदल सकता, आदि ...
विंडोज 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 टर्मिनल प्राप्त करने के लिए inasmuch काम किया। इसलिए, नीचे की रेखा यह सेटिंग टर्मिनल से बैश शेल खोलने के लिए काम करती है:
"terminal.integrated.shell.windows": "C:\\Program Files\\Git\\bin\\bash.exe"
हालांकि इसका अवांछित साइड इफेक्ट भी है क्योंकि शेल का इस्तेमाल चीजों को बनाने के लिए किया जाता है और जो MS C ++ चेन को तोड़ता है क्योंकि \
पथ विभाजक के लिए उपयोग किए जाने वाले चरित्र को बैश द्वारा एस्केप कैरेक्टर के रूप में समझा जाता है। मेरे लिए पूर्ण सुधार तब मुझे इस अतिरिक्त चर को जोड़ने की आवश्यकता है, इसे पावरशेल में सेट करना:
"terminal.integrated.automationShell.windows": "C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\powershell.exe"
अब, मैं अपना बैश टर्मिनल और / Ctrl-Shift-B
या रख सकता हूंF5
बिना समस्याओं के काम ।
ओह, और जैसा कि अन्य पोस्टरों में उल्लेख किया गया है, इस जानकारी का स्रोत VSCode का प्रलेखन है ।
अलग या असंबंधित गोले के बारे में और code [args]
समर्थन के ?
हालांकि अन्य उत्तर वीएसकोड एकीकृत डब्ल्यूएसएल 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
एक विशिष्ट वीएसकोड सर्वर इंस्टेंस के साथ एक सत्र में गोले को जोड़ने के लिए दैनिक उपयोग करता हूं, या एक एकीकृत शेल को ठीक करने के लिए जो इसकी होस्टिंग आईडीई से अलग हो गया है।
#!/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"
यदि आपके पास पहले से ही "बैश", "पॉवरशेल" और "सीएमडी" सीएलआई है और सही पथ सेटिंग्स हैं तो एक सीएलआई से दूसरे में स्विच करना निम्न तरीकों से हो सकता है।
Ctrl+ ': टर्मिनल विंडो को डिफ़ॉल्ट CLI से खोलता है।
bash + enter: अपने डिफ़ॉल्ट / वर्तमान CLI से bash पर स्विच करें ।
पावरशेल + enter: अपने डिफ़ॉल्ट / वर्तमान सीएलआई से पावरशेल पर स्विच करें सीएलआई पर ।
cmd + enter: अपने डिफ़ॉल्ट / वर्तमान CLI से cmd CLI पर स्विच करें ।
वी.एस. कोड संस्करण मैं उपयोग कर रहा हूँ 1.45.0