मैंने उबंटू पर उबटन के लिए लिनक्स (डब्लूएसएल) के लिए विंडोज सबसिस्टम स्थापित किया है ताकि विंडोज पर बश में किया जा सके ("बाश" के संक्षिप्त रूप में।) cmd.exe
मैं रन मेनू से bash -c gcc --version
उपयोग कर सकते हैं और साथ ही साथ मैं भी चला सकता हूं cmd -k bash -c gcc --version
। हालाँकि, मैंने देखा कि मैं उसी आदेश को तृतीय-पक्ष अनुप्रयोगों, जैसे उदात्त पाठ या एटम से नहीं चला सकता।
उदात्त पाठ के लिए निम्नलिखित बिल्ड सिस्टम पर विचार करें और फिलहाल, इस तथ्य को अनदेखा करें कि यह कुछ भी नहीं बनाएगा:
{
"cmd": [ "bash", "-c" "gcc", "--version" ],
"working_dir": "${project_path:${folder}}",
"selector" : "source.c"
}
बिल्ड कमांड चलाने से परिणाम होगा Error: 0x80070057
। cmd.exe
सक्षम के लिए विरासत मोड के साथ , त्रुटि पढ़ता हैUnsupported console settings. In order to use this feature the legacy mode must be disabled.
अन्य बातों के अलावा, मैंने पहले ही इसे काम करने की कोशिश की:
bash.exe
जैसे, के लिए पूर्ण पथ का उपयोग करना%SystemRoot%\System32\bash.exe
बिल्ड टूल (सामग्री:) में बैच फ़ाइल चलाएँ
bash -c gcc --version
। विशेष रूप से, बैच फ़ाइल तब चलती है जब से चलती हैcmd.exe
निर्माण कमांड को बदलें
[ "cmd", "/k", "bash", "-c" "gcc", "--version"]
"shell": true
मेरी बिल्ड फ़ाइल में जोड़ें
कई बार त्रुटि में परिवर्तन होता है "[बैश] को आंतरिक या बाहरी कमांड के रूप में मान्यता नहीं दी जाती है", भले ही C:\Windows\System32
वह मेरे रास्ते में हो।
क्या कोई सीमा है कि बैश केवल से लॉन्च किया जा सकता है cmd.exe
? क्या कोई वर्कअराउंड है जो मुझे batch
उदात्त पाठ से लॉन्च करने की अनुमति देगा ?
cmd
लाइन को बदलने का प्रयास करें "cmd": [ "cmd.exe", "-k", "bash -c gcc --version" ]
, और / या जोड़ने का प्रयास करें shell: true
।