Проблема с терминалом Нужен кто-то из основной команды VSCode, чтобы указать мне правильный код - PullRequest
1 голос
/ 11 марта 2019

Я работаю над пул-запросом, чтобы решить проблему, связанную с переменной интегрированной среды терминала. Ссылку на функцию можно найти по этой ссылке # 4568 . Описания проблемного поведения можно найти в этой ссылке # 4434 . В этой ссылке я предложил обходной путь. Но я все еще хочу решить эту проблему.

Из моего собственного наблюдения я обнаружил, что основная причина может заключаться в следующем: после некоторых шагов, где-то в процессе создания терминала, фактические значения переменных среды (специфичные для PATH) были переупорядочены / изменены. Возможно это обрабатывается для удаления дублирования.

Я загружаю кодовую базу vscode (1.33) и продолжаю отладку до метода createProcess в исходном файле src/vs/workbench/contrib/terminal/electron-browser/terminalProcessManager.ts. Я обнаружил, что даже после того, как был создан экземпляр терминала, env.PATH в основном процессе изменилось NOT . Для ptyProcess конструктор принимает параметры (содержащие env) в качестве входных данных, но я не могу найти никакого связанного с env свойства в созданном ptyProcess. И после того, как экземпляр терминала создан, отладка заканчивается, в рабочей среде появляется интегрированный терминал. Я теряюсь после того, как экземпляр терминала создан, может кто-то из основной команды или привык работать с интегрированным терминальным модулем, указать мне правильное место в кодовой базе, чтобы я мог попытаться решить проблему? В Интернете недостаточно документов, или комментарии в исходном коде могут помочь мне найти / определить местоположение сред, изменяющихся во время / после создания экземпляра терминала.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...