मैंने उबंटू पर उबटन के लिए लिनक्स (डब्लूएसएल) के लिए विंडोज सबसिस्टम स्थापित किया है ताकि विंडोज पर बश में किया जा सके ("बाश" के संक्षिप्त रूप में।) 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।