2015-05-15 2 views
1

Я использую сценарий оболочки, определенный здесь (https://code.visualstudio.com/Docs/setup), и хотя я могу набрать code ., чтобы открыть код VS, он не выберите текущий каталог, который будет отображаться в дереве.Что может привести к тому, что командная строка VSCode не будет уважать аргумент папки?

ответ

0

Я протестировал образец на странице настроек, и он отлично работает.

code() { 
    if [[ $# = 0 ]] 
    then 
     open -a "Visual Studio Code" 
    else 
     [[ $1 = /* ]] && F="$1" || F="$PWD/${1#./}" 
     open -a "Visual Studio Code" --args "$F" 
    fi 
} 

Я однако добавить его в нижней части моего ~/.bashrc вместо моего .bash_profile. Файл .bash_profile просто создает .bash_profile, поэтому он должен быть эквивалентным.

if [ -e ~/.bashrc ] 
then 
    . ~/.bashrc 
fi 

Вы можете проверить, что вы работаете в Баш оболочки, выполнив:

echo $SHELL 

Это должно возвратить/Баш/Баш.

+0

Это работает, только если код закрыт. если код уже открыт, он фокусирует его, но не меняет каталоги. –

+0

Тот факт, что Код уже открыт, должен быть указан в исходном вопросе. В этом случае вы можете обнаружить, если он уже открыт, а затем запустить AppleScript, чтобы изменить открытую папку. К сожалению, Visual Code в настоящее время не поддерживает AppleScript или Automator. Вы можете переписать функцию bash для выключения кода и снова открыть его, если он уже открыт. Эти решения сложны, и было бы лучше просто использовать опцию File -> Open .... –

+1

Мы рассмотрим этот вопрос, о нем сообщалось уже как об ошибке. –

0

С обновлением 0.3.0 эта проблема исправлена. Пожалуйста, используйте эту обновленную команду:

code() { 
    VSCODE_CWD="$PWD" open -n -b "com.microsoft.VSCode" --args $* 
} 

Обновление для нашего VS кода версии 1.0: используйте команду Install code command in path из палитры команд (View | Command Palette).

+0

Вау! И он открыл второе окно, которое идеально. Спасибо Спасибо спасибо! –

Смежные вопросы