В настоящее время я могу открыть cmd и powershell в текущей папке, набрав cmd
или powershell
в адресной строке проводника (которая открывается с помощью CTRL + D, так что это действительно аккуратно и быстро).
Было бы здорово, если бы это было возможно и с новым Терминалом Windows. Но поскольку это приложение из Магазина Windows, я не могу найти простой способ добавить его в PATH. Он также не уважает текущую папку при открытии. Он всегда запускается в папке по умолчанию ( C:\WINDOWS\system32
для cmd и ~
для Ubuntu).
Было бы здорово, если бы это было возможно:
Также было бы неплохо, если бы его можно было открыть с помощью короткой команды.
В настоящее время исполняемый файл называется WindowsTerminal
. Было бы неплохо, если бы мы могли просто ввести что-то вроде term
.
Что произойдет, если вы используете wt.exe
?
Псевдоним уже должен запускать WindowsTerminal, но я не уверен, запускается ли он по указанному вами пути.
@joandrsn Это здорово, я не знал. Спасибо.
@joandrsn Спасибо! Он даже запускается в текущем каталоге!
Как передать путь к каталогу wt.exe. Что-то вроде этого:
wt.exe "C:\GitHub"
Пробовал, но всегда открывается в папке по умолчанию как для CMD, так и для PowerShell.
Я могу открыть оболочку WSL Ubuntu в текущей папке с помощью ubuntu run
. но wt
всегда открывается в папке по умолчанию
Удалите startingDirectory
из вашего profiles.json.
Привет @ DHowett-MSFT!
есть ли способ попросить Windows Terminal
открыть новую вкладку в той же папке, что и текущая вкладка? Я хочу такое же поведение, как и в Mac OS X
: https://apple.stackexchange.com/questions/178017/how-do-i-open-a-new-terminal-window-for-same-directory -как текущее-окно.
Заранее спасибо!
Удалите
startingDirectory
из вашего profiles.json.
@ DHowett-MSFT, это не работает в последней версии 0.5.2661.0 :(
Удалите
startingDirectory
из вашего profiles.json.
У меня тоже не работает :(
Начиная с версии 0.5, это больше не будет работать. Вам нужно установить "startingDirectory": null
чтобы это действительно работало. Это исправление непреднамеренно регрессировало в # 2515.
Я также хотел бы открывать новые вкладки в текущем каталоге
Начиная с версии 0.5, это больше не будет работать. Вам нужно установить
"startingDirectory": null
чтобы это действительно работало. Это исправление непреднамеренно регрессировало в # 2515.
@ zadjii-msft, это не работает в v0.5.2681.0
Начиная с версии 0.5, это больше не будет работать. Вам нужно установить
"startingDirectory": null
чтобы это действительно работало. Это исправление непреднамеренно регрессировало в # 2515.
Не работает и с 0.5.2762.0 ..
Я попытался удалить значение, установив значение null .. оба ничего не меняют ..
Чтобы было ясно, _удаление startingDirectory
вместо установки null
_ не является функцией, которая возвращается; мы рассматриваем альтернативные подходы относительно того, когда именно применять startDirectory, но этот параметр всегда можно подавить, установив для него значение null.
Начиная с версии 0.5, это больше не будет работать. Вам нужно установить
"startingDirectory": null
чтобы это действительно работало. Это исправление непреднамеренно регрессировало в # 2515.Не работает и с 0.5.2762.0 ..
Я попытался удалить значение, установив значение null .. оба ничего не меняют ..
"startingDirectory": null
у меня работает - его нужно поместить в определенный профиль, а не быть элементом корневого уровня
@ DHowett-MSFT мне кажется, что подход с настройками в файле конфигурации ( startingDirectory
), который можно переопределить, передав параметры командной строки, в целом довольно распространен. Может быть, я не понимаю здесь проблемы :)
Если я помню разговор в прошлом месяце, это было:
Очистка параметра «startDirectory» путем удаления его из вашего профиля пользователя (в конкретном случае двух или трех поставляемых профилей по умолчанию) вместо установки его на null
чтобы очистить его, не является функцией, которая будет возвращается.
Похоже, это соответствует моему пониманию вашего понимания этого разговора. :улыбка:
Для меня установка "StartingDirectory": "." делает свою работу.
есть ли еще одна проблема с открытым терминалом по умолчанию, чтобы сказать "%USERPROFILE%"
но null
при запуске из проводника Windows?
@carlinmack Я не думаю, что это совершенно необходимо.
"startingDirectory": "."
они все равно открываются в домашней папке пользователя ( %USERPROFILE%
)."startingDirectory": "."
обеспечит открытие Терминала Windows в каталоге, в котором вы были.Терминал Windows по умолчанию использует домашний каталог пользователя, если вы запускаете его через ярлык в меню «Пуск» или набираете «wt» в Win + R. Это означает, что если вы используете "startDirectory": "." они по-прежнему открываются в домашней папке пользователя (% USERPROFILE%).
В этом случае для меня по умолчанию используется system32.
Спасибо @torpederos
"startDirectory": " .
"
"startDirectory": "% __
CD __
%"
Проверено. У меня оба работают нормально. Мое решение .
@RickStrahl написал хороший блог по этому поводу. Проверить это .
В моем случае это сработало.
"profiles":
{
"defaults":
{
"startingDirectory": "."
},
"startingDirectory": "."
работает, но когда я открываю терминал из поиска, по умолчанию используется system32.
Есть ли способ открыть в каталоге пользователя, если путь не указан?
"startingDirectory": "."
работает, но когда я открываю терминал из поиска, по умолчанию используется system32.
Есть ли способ открыть в каталоге пользователя, если путь не указан?
У меня такая же проблема. Я исправил это, добавив следующую строку в конец моего файла .bashrc.
export CURR_DIRECTORY=`pwd`
if [ "$CURR_DIRECTORY" = "/mnt/c/WINDOWS/system32" ]; then
cd ~
fi
Решение @manishprivet было отличным, за исключением того, что для правильной работы я изменил system32
на System32
. Хорошая идея - запустить pwd
и скопировать вывод.
Я нашел обходной путь, добавив «открыть терминал здесь», чтобы щелкнуть правой кнопкой мыши.
шаг 1:-
Удалите начальный каталог из settings.json для всех профилей.
шаг 2:-
Добавьте открытый терминал, чтобы щелкнуть правой кнопкой мыши в соответствии с этим сообщением.
https://github.com/microsoft/terminal/issues/1060#issuecomment -497539461
Я изменил 2-е значение реестра с @="%LOCALAPPDATA%\\Microsoft\\WindowsApps\\wt.exe"
на @="C:\Users\[your username]\AppData\Local\Microsoft\WindowsApps\wt.exe -d ."
Поведение после доработок:
Поэтому всякий раз, когда я открываю терминал с помощью поиска / панели задач / ярлыка, он открывается в моей пользовательской папке.
Всякий раз, когда я хочу открыть терминал с помощью проводника, я просто щелкаю правой кнопкой мыши и выбираю опцию Windows terminal here
.
Примечание 1. Не забудьте добавить -d .
в конце второго значения реестра, иначе это не сработает.
Примечание 2: ввод wt
в панели проводника по-прежнему открывает терминал в system32. Вам все равно следует ввести wt -d .
если вы хотите открыть терминал в текущей папке с помощью «панели проводника».
Просто добавь
"startingDirectory": null
Он корректно работает с wt V1.0.
Если вы предпочитаете, чтобы wt отображался в SHIFT-меню точно так же, как «Открыть окно PowerShell здесь» или открыть параметры WSL, вы можете объединить этот файл реестра в свой реестр.
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\Directory\Background\shell\wt]
@="Open Windows Terminal here"
"ShowBasedOnVelocityId"=dword:00639bc8
"Extended"=""
[HKEY_CLASSES_ROOT\Directory\Background\shell\wt\command]
@="C:\\Users\\[YourUserName]\\AppData\\Local\\Microsoft\\WindowsApps\\wt.exe"
Обратите внимание, что параметр startingDirectory
должен находиться в этом месте в структуре JSON:
{
//...
"profiles":
{
"defaults":
{
// Put settings here that you want to apply to all profiles.
// Attempt to start in current directory
// https://github.com/microsoft/terminal/issues/620
"startingDirectory": "."
}
}
}
Мне еще предстоит увидеть решение, которое будет делать следующее:
Это возможно?
Судя по моему расследованию , это было невозможно технически.
Если вы хотите, чтобы оба работали, вам нужно использовать wt -d .
в адресной строке проводника. Это позволит запускать терминал из меню «Пуск», а окно запуска работать так же, как и раньше, и по-прежнему позволяет открывать терминал в CWD в проводнике.
Из моего первоначального исследования вот что я нашел на основе https://docs.microsoft.com/en-us/windows/terminal/command-line-arguments?tabs=windows
Подход 1:
wt -d D:\SomeDirectory
Это откроет оболочку по умолчанию, присутствующую в settings.json с этим каталогом.
PS Выбирайте путь исходя из ОС оболочки по умолчанию
Подход 2:
wt -d .
@AndeYashwanth Это отлично работает, спасибо. Теперь я могу открыть его в моем пользовательском каталоге с панели задач и открывать только в текущем каталоге, когда я щелкаю правой кнопкой мыши 😎
Спасибо @ 29kartik подход 1 сработал для меня. Мне удалось заставить GitKraken использовать пользовательскую команду терминала wt -d %d
так что теперь ярлык терминала запускает WT в текущем каталоге репо. 💯
Я добавил это, чтобы открыть в этой конкретной папке
"startingDirectory": "C:\\webdev"
Это мой вариант с помощью ярлыка контекстного меню: https://gist.github.com/kmantel/9cd6bf9f0fb25694a5b08119817281b7
@nickraphael :
Мне еще предстоит увидеть решение, которое будет делать следующее:
- Разрешите мне выбрать каталог по умолчанию, когда я открываю Терминал из меню «Пуск».
- При запуске wt.exe из окна проводника откроет Терминал в этот каталог.
Имея это в settings.json
:
{
"profiles": {
"defaults": {
"startingDirectory": "."
}
}
}
заставляет Windows Terminal запускаться в текущем каталоге для меня при запуске из окна местоположения проводника, win + r или из других программ (VS Code и т. д.). Однако при запуске из меню «Пуск» путем поиска или перехода к ярлыку он начинается с C:\WINDOWS\system32
.
Чтобы исправить проблему с меню «Пуск», я прикрепил ярлык к wt.exe
в меню «Пуск» ( where wt
сообщает его местоположение), переименовал ярлык по своему вкусу, а затем изменил его так:
Start in: %USERPROFILE%
Теперь Терминал Windows запускается в моем домашнем каталоге при запуске из меню «Пуск».
Было бы неплохо, если бы Windows Terminal не менял свой каталог по умолчанию, чтобы сделать его более прозрачным. Есть не так много других программ, которые это делают.
Мне также интересно, может ли установщик автоматически создать ярлык для wt.exe
.
Итак, ни один из приведенных выше ответов не сработал для моего варианта использования. Я бы хотел открыть новую вкладку с помощью alt+shift+-
и сохранить предыдущую папку. Я пробовал использовать null
, "."
и "%__CD__%"
качестве значений для "startingDirectory"
в разных местах JSON. Я использую версию Windows Terminal Preview 1.4.2652.0
.
Хорошим решением было бы иметь новую опцию, например "keepCurrentDirectoryOnNewTab": true
или что-то в этом роде. Другой способ (который использует Китти) - это специальное значение current
при указании каталога.
@frankitox Вы, вероятно, заинтересованы в # 3158 и подобных 20 проблемах, которые дублируются в этой теме
Было довольно много дискуссий о том, почему это трудно или почти невозможно сделать правильно в Windows.
ВЕРСИЯ: 1.3.2651.0
в моем случае это работает.
"profiles":
{
"defaults":
{
// Put settings here that you want to apply to all profiles.
"startingDirectory": "."
},
также вы можете использовать "startingDirectory": "%__CD__%"
Я, вероятно, очень опаздываю на вечеринку, но в Windows 10 Pro 20H2 вы можете просто ввести wt
в адресной строке, и это поможет.
Как передать путь к каталогу wt.exe. Что-то вроде этого:
wt.exe "C:\GitHub"
Я не знаю, нашли ли вы -d и путь
wt -d .
хорошо работает в WSL2
Самый полезный комментарий
Начиная с версии 0.5, это больше не будет работать. Вам нужно установить
"startingDirectory": null
чтобы это действительно работало. Это исправление непреднамеренно регрессировало в # 2515.