Невозможно загрузить .bash_profile или .bashrc при запуске задач VSCode в Windows 10 - PullRequest
0 голосов
/ 07 февраля 2019

Я использую VSCode версию 1.31.0 в Windows 10 Home.Я включил WSL и установил несколько вещей, таких как nvm, pyenv и т. Д., Для которых требуются дополнительные сценарии, необходимые для работы на .bashrc и .bash_profile

Например, в .bashrc:

export PATH="/custom/path:$PATH"

При запуске встроенной оболочки (CTRL + `) все работает нормально, как я вижу, $PATH включает /custom/path

Но когда я пытаюсь запустить сценарий задачи ()https://code.visualstudio.com/docs/editor/tasks#vscode)

{
    // See https://go.microsoft.com/fwlink/?LinkId=733558
    // for the documentation about the tasks.json format
    "version": "2.0.0",
    "tasks": [
        {
            "type": "eslint",
            "problemMatcher": [
                "$eslint-stylish"
            ]
        },
        {
            "label": "Run tests",
            "type": "shell",
            "command": "./scripts/test.sh",
            "presentation": {
                "reveal": "always",
                "panel": "new"
            }
        }        
    ]
}

Содержимое в test.sh

echo $PATH

Когда я пытаюсь запустить задачу «Выполнить тесты», она не показывает /custom/path илиНа самом деле, все, что внутри ~/.bashrc и ~/.bash_profile не включено.

Я даже пробовал что-то похожее на test.sh, но все равно он не загружает .bashrc

source /home/user/.bashrc
echo $PATH

Ниже приведены мои пользовательские настройки VSCode:

{
    "terminal.external.windowsExec": "C:\\windows\\Sysnative\\bash.exe",
    "terminal.integrated.shell.windows": "C:\\windows\\Sysnative\\bash.exe",
    "terminal.integrated.shellArgs.windows": ["--login"],
    "eslint.provideLintTask": true
}

Вопрос:

Как мне настроить VSCode или окна для запуска задач, используя мои .bashrc или .bash_profile?

1 Ответ

0 голосов
/ 07 февраля 2019

Это из-за следующих строк в моем .bashrc

# If not running interactively, don't do anything
case $- in    
    *i*) ;;      
      *) return;;
esac#

Так что после того, как я обновил свои настройки VSCode, как показано ниже:

{
    "terminal.external.windowsExec": "C:\\windows\\Sysnative\\bash.exe",
    "terminal.integrated.shell.windows": "C:\\windows\\Sysnative\\bash.exe",
    "terminal.integrated.shellArgs.windows": ["-i"],
    "eslint.provideLintTask": true
}

Остальные команды в моем .bashrc будет исполнено

...