मैं विज़ुअल स्टूडियो कोड एकीकृत टर्मिनल से विंडोज पर बैश का उपयोग कैसे करूं?


279

विंडोज पर विजुअल स्टूडियो कोड एकीकृत टर्मिनल के रूप में डिफ़ॉल्ट रूप से PowerShell का उपयोग करता है। यदि आप विज़ुअल स्टूडियो कोड से बैश का उपयोग करना चाहते हैं, तो किन चरणों का पालन किया जाना चाहिए?


अपने प्रश्न के उत्तर के लिए कृपया stackoverflow.com/questions/43427631/… पढ़ें ।
AKS

जवाबों:


347

अब आपको मैन्युअल रूप से 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+ दबाएँ `। और आपके पास बैश होगा -

यहां छवि विवरण दर्ज करें


1
वे गिट बश से डिफ़ॉल्ट रंग हैं।
महादे वलीद

5
दो infos, जो सहायक हो सकते हैं: सुनिश्चित करें, कि जब आप पथ लिखते हैं, तो आप अपने json में बैकस्लैश वर्णों से बच जाते हैं। यह भी सुनिश्चित करें, कि आप अपने vscode में git bash के 64 बिट संस्करण को शामिल करते हैं, क्योंकि 32 बिट संस्करण में डिफ़ॉल्ट रूप से रंग नहीं हो सकते हैं। (बस रास्ते से "(x86)" भाग को हटा दें)
लाजोस मेस्सरोस

2
Lajos में जोड़ना, यदि आप अभी भी टर्मिनल को खोल नहीं सकते हैं, तो vscode को पुनः आरंभ करने का प्रयास करें।
आदित्य

3
मैं इस मुद्दे का सामना कर रहा था "terminal.integrated.shell.windows": "C:\\Program Files\\Git\bin\bash.exe", टर्मिनल नहीं खुल रहा था । कोशिश की "terminal.integrated.shell.windows": "C:\\Program Files\\Git\\bin\\bash.exe"। मेरे लिए पूरी तरह से काम किया।
धर्मजीत कुमार

28
FYI करें, सुनिश्चित करें कि आप लिंक करते हैं bash.exe, और नहीं git-bash.exe। उत्तरार्द्ध वीएस कोड के बाहर एक अलग विंडो के रूप में एक टर्मिनल खोलेगा, जबकि bash.exeवीएस कोड के अंदर चलेगा।
डेरियस

258
  1. Https://it-scm.com/download/win से Git इंस्टॉल करें

  2. विजुअल स्टूडियो कोड खोलें और टर्मिनल खोलने के लिए Ctrl+ दबाकर रखें `

    यहां छवि विवरण दर्ज करें

  3. Ctrl+ Shift+ का उपयोग करके कमांड पैलेट खोलें P

  4. प्रकार - डिफ़ॉल्ट शैल चुनें

  5. विकल्पों में से गिट बैश का चयन करें

  6. टर्मिनल विंडो में + आइकन पर क्लिक करें

  7. नया टर्मिनल अब गिट बैश टर्मिनल होगा। गिट बैश लोड करने के लिए इसे कुछ सेकंड दें

    यहां छवि विवरण दर्ज करें

  8. अब आप टर्मिनल में ड्रॉपडाउन से विभिन्न टर्मिनलों के बीच टॉगल कर सकते हैं।

    यहां छवि विवरण दर्ज करें


5
इसने मेरे लिए काम किया। मैंने डिफ़ॉल्ट बश में मैन्युअल रूप से जोड़कर अन्य सभी गाइडों की कोशिश की, लेकिन यह हर बार एक नई टर्मिनल विंडो खोल देता है। बहुत धन्यवाद
Glen

3
यह वही है जो मैं खोज रहा था ... यह सरल उत्तर स्वीकार किया जाना चाहिए
Boopathi T

1
बिल्कुल सही समझाया .. इस जवाब के लिए धन्यवाद।
स्कालरिया

अगर ctrl + `काम नहीं करता है (जैसा कि, कुछ भी नहीं होता है! यहां तक ​​कि git स्थापित करने और उपयोगकर्ता सेटिंग्स को सेट करने के बाद भी json), तो यह प्रयास करें: ctrl + shift + P> फोकस टर्मिनल।
जैतून

1
सरल और तेज़ समाधान
थेमेलिस

80

अपडेट किया गया: विजुअल स्टूडियो कोड के नए संस्करणों में टर्मिनल पुल डाउन मेनू में डिफॉल्ट शेल कमांड का चयन करें :

डिफ़ॉल्ट शैल विकल्प चुनें

याद रखें कि यह केवल उन शेल को सूचीबद्ध करता है जो आपके% PATH% पर्यावरण चर में हैं। ऐसे गोले जो आपके रास्ते में नहीं हैं, अन्य उत्तर देखें।

अतिरिक्त टिप: जब आप बैश शुरू करते हैं तो यह बस निष्पादित होगा .bashrc, यदि आपके पास आरंभिक कमांड हैं, तो आपको .bash_profileइसे कॉपी करना होगा .bashrc। Git Bash में कॉनडा एनवायरमेंट्स का उपयोग करना आवश्यक है ।

संस्करण 1.36 से पहले (जून 2019)

अब सबसे आसान तरीका है (कम से कम विजुअल स्टूडियो कोड 1.22 से) कमांड पैलेट खोलने के लिए Shift+ Ctrl+ टाइप करें और टाइप करें:P

Select Default Shell

अब आप आसानी से अपने रास्ते में पाए जाने वाले लोगों के बीच अपने पसंदीदा शेल का चयन कर सकते हैं :

शैल चयन सूची

ऐसे शेल के लिए जो आपके% PATH% में नहीं हैं, अन्य उत्तर देखें।

देखें पूरा दृश्य स्टूडियो कोड खोल संदर्भ । बहुत सारा भावपूर्ण सामान है।


1
यह वह उत्तर था जिसकी मुझे तलाश थी। मैं WSL बैश का उपयोग करना चाहता था, लेकिन अन्य जवाब उस
पिट

1
क्या कोई विशेष शेल खोलने का एक तरीका है ... इसे "डिफ़ॉल्ट" बनाए बिना? मुझे लगता है कि यह सिर्फ एक बार "खुला बैश" होने का मतलब है। "
ब्रेंट एरियस

41

टर्मिनल खोलने के लिए Ctrl+ दबाकर रखें `। टर्मिनल के अंदर, टर्मिनल bashमें गेट बैश का उपयोग करने के लिए टाइप करें। नोट: सुनिश्चित करें कि आपके पास आपकी मशीन पर Git Bash स्थापित है।

यदि आप फिर से PowerShell का उपयोग करना चाहते हैं, powershellतो टर्मिनल में टाइप करें। विंडोज कमांड लाइन का उपयोग करने के लिए, cmdटर्मिनल में टाइप करें।

आपके द्वारा चुनी गई सेटिंग का उपयोग आपके डिफ़ॉल्ट के रूप में किया जाएगा।


4
यह चयनित उत्तर के लिए अधिक मूल्य जोड़ता है
pjdupreez

1
"पॉवरशेल पर वापस स्विच करने के लिए" शायद आपको exitअपने गोले के गोले को डिफ़ॉल्ट शेल के अंदर से चलाने की आवश्यकता है , फिर powershellचूँकि बैश को पता नहीं है कि पॉवरशेल क्या है।
लुकास मॉर्गन

13

मेरे लिए निम्नलिखित केवल संयोजन है जो काम करता है!

"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, हर बार बैश विजुअल स्टूडियो के बाहर खुल रहा था !!


1
इसने वास्तव में मेरी मदद की। मुझे उपरोक्त पिछले उत्तरों के अनुसार बैश काम मिला, लेकिन मैंने अपने सभी बैश और गिट अलायस खो दिए। इससे उन्हें वापस खरीद लिया गया। धन्यवाद।
डेविड मार्टिन

1
मेरे साथ यह काम किया गया है: "terminal.integrated.shell.windows": "C: \\ Program Files \\ Git \\ bin \\ bash.exe", "terminal.integrated.shellArgs.windows": ["- -लोगिन "," -आई "]
बेलाल मोहम्मद

इस समाधान ने मेरे लिए भी काम किया। जोड़ने के लिए एक चेतावनी यह है कि मेरे मामले में, gitbash के साथ अंतराल को कम करने के लिए, इस पोस्ट का अनुसरण किया stackoverflow.com/questions/32232978/… और विंडोज़ में एक नया गृह परिवेश चर सेट करें। VSCode में इसे ठीक से काम करने के लिए, उपरोक्त उत्तर ने पूरी तरह से काम किया।
राब बी

13

विज़ुअल स्टूडियो कोड के नवीनतम अपडेट के कारण चीजें थोड़ी बदल गई हैं। निम्नलिखित चरण मेरे लिए काम करते हैं।

  1. दबाएँ CtrlVisual Studio कोड कमांड तालू खोलने के लिए + Shift+P

  2. प्रकार >preferences: Open Settings (JSON)पाठ क्षेत्र में करें।

  3. JSON फ़ाइल के अंत में निम्नलिखित पंक्तियाँ जोड़ें जो आपके दाहिने हाथ के फलक में प्रदर्शित होती हैं।

    "terminal.integrated.shell.windows": "C:\\Program Files\\Git\\bin\\bash.exe"
  4. बंद करें और अपने Visual Studio कोड उदाहरण को फिर से खोलें।


10

मैंने विंडोज के लिए Git Bash के साथ आने वाले लिनक्स (WSL) के लिए विंडोज सबसिस्टम से बैश का उपयोग करने के लिए पॉल डेकार्लो के इस ट्यूटोरियल का अनुसरण किया । वे उत्तर में ऊपर के समान ही चरण हैं, लेकिन नीचे अपनी उपयोगकर्ता सेटिंग में उपयोग करें।

"terminal.integrated.shell.windows": "C:\\Windows\\sysnative\\bash.exe",

यह मेरे लिए पहली बार काम किया ... जो इस सामान के लिए दुर्लभ है।


1
वास्तव में दुर्लभ। अत्याधुनिक
क्रिस्टोफर पेंटर

7

यह, कम से कम मेरे लिए, विज़ुअल स्टूडियो कोड को बाहरी टर्मिनल के रूप में एक नई बैश विंडो खोलने में मदद करेगा।

यदि आप एकीकृत वातावरण चाहते हैं तो आपको अपने Git इंस्टॉलेशन sh.exeके binफ़ोल्डर में फ़ाइल को इंगित करना होगा ।

तो विन्यास को कहना चाहिए C:\\<my-git-install>\\bin\\sh.exe


5

यह इस बात पर निर्भर करता है कि आपने वर्तमान उपयोगकर्ता में 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 पूरी तरह से मेरे लिए समान हैं। उनमें कोई अंतर नहीं होना चाहिए।


4

Git\binनिर्देशिका को Pathपर्यावरण चर में जोड़ें । निर्देशिका %ProgramFiles%\Git\binडिफ़ॉल्ट रूप से है। इस तरह आप विजुअल स्टूडियो कोड के एकीकृत टर्मिनल सहित हर टर्मिनल में टाइपिंग के साथ गिट बैश का उपयोग कर सकते हैं bash

विंडोज में पथ और पर्यावरण चर कैसे सेट करें


4

मैंने पहले ही बहुत सारे condaवातावरण सेट कर दिए थे WSL(विंडोज पर उबंटू पर बैश), इसलिए मैं विज़ुअल स्टूडियो कोड पर उसी बैश इंस्टॉलेशन का उपयोग करना चाहता था।

ऐसा करने के लिए, मैं सिर्फ इस विशेष बैश निष्पादन योग्य (के पथ निर्दिष्ट करना पड़ा बजाय काGit-Bash दृश्य स्टूडियो संहिता की सेटिंग्स पर):

"terminal.integrated.shell.windows": "C:\\Windows\\System32\\bash.exe"


पुनश्च : यह सुनिश्चित करने के लिए कि आपकी उबंटू निष्पादन योग्य वस्तु पर उबंटू आपके विंडोज मशीन पर स्थापित है, Command prompt(खोज :) खोलें cmdऔर चलाएँ:

where bash.exe


4

यह उत्तर शीर्ष मतदान के उत्तर के समान है, लेकिन एक महत्वपूर्ण अंतर के साथ: इस सवाल पर पिछले जवाबों में से बहुत से गिट बैश को चलाने पर ध्यान केंद्रित करते हैं जबकि मेरा जवाब डब्ल्यूएसएल बैश को चलाने पर केंद्रित है ।

  1. अपने विंडोज 10 मशीन पर लिनक्स के लिए विंडोज सबसिस्टम को सक्षम करें।

  2. विजुअल स्टूडियो कोड Ctrl + `खोलें और टर्मिनल को खोलने के लिए दबाए रखें ।

  3. कमांड पैलेट का उपयोग करके खोलें Ctrl + Shift + P

  4. प्रकार - Select Default Shell

  5. विकल्पों में से चुनें WSL Bash(नहीं Git Bash)।

यहां छवि विवरण दर्ज करें

  1. +टर्मिनल विंडो में आइकन पर क्लिक करें । नया टर्मिनल अब WSL बैश टर्मिनल होगा!

4

नवीनतम वीएस कोड:

  • यदि आप सेटिंग नहीं देख सकते हैं। संदेश, मेनू पर जाएँ फ़ाइल -> प्राथमिकताएँ -> सेटिंग्स (या दबाएं Ctrl+,)
  • सेटिंग्स दिखाई देती हैं, दो टैब उपयोगकर्ता देखें (डिफ़ॉल्ट रूप से चयनित) और कार्यक्षेत्र। उपयोगकर्ता पर जाएँ -> सुविधाएँ -> टर्मिनल
  • टर्मिनल अनुभाग दिखाई देता है, लिंक देखें edit in settings.json। क्लिक करें और जोड़ें"terminal.integrated.shell.windows": "C:\\Program Files\\Git\\bin\\bash.exe",
  • वीएस कोड को सेव और रिस्टार्ट करें।

बैश टर्मिनल पर प्रतिबिंबित होगा।


1

मैं एक फॉर्च्यून 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"
}

0

मैंने उपरोक्त उत्तरों को 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 का प्रलेखन है


0

अलग या असंबंधित गोले के बारे में और 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"

0

यदि आपके पास पहले से ही "बैश", "पॉवरशेल" और "सीएमडी" सीएलआई है और सही पथ सेटिंग्स हैं तो एक सीएलआई से दूसरे में स्विच करना निम्न तरीकों से हो सकता है।

Ctrl+ ': टर्मिनल विंडो को डिफ़ॉल्ट CLI से खोलता है।

bash + enter: अपने डिफ़ॉल्ट / वर्तमान CLI से bash पर स्विच करें

पावरशेल + enter: अपने डिफ़ॉल्ट / वर्तमान सीएलआई से पावरशेल पर स्विच करें सीएलआई पर ।

cmd + enter: अपने डिफ़ॉल्ट / वर्तमान CLI से cmd CLI पर स्विच करें

वी.एस. कोड संस्करण मैं उपयोग कर रहा हूँ 1.45.0

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.