Terminal: Adicione "abrir o terminal do Windows aqui" no menu de contexto do botão direito

Criado em 30 mai. 2019  ·  235Comentários  ·  Fonte: microsoft/terminal

Adicionar "abrir terminal do Windows aqui" ao menu de contexto do botão direito?

Sabemos que, para o Windows 7, por padrão, quando clicamos em "shift + clique direito do mouse" quando entramos em uma pasta sem selecionar nada, podemos ver a opção "abrir janela de comando aqui".

image

Já para o Windows 10, por padrão, quando clicamos em "shift + clique com o botão direito do mouse", podemos ver a opção "abrir janela do PowerShell aqui".

Portanto, para o Windows 10 (versão posterior a 1903), como podemos disponibilizar as três opções a seguir no menu de contexto do botão direito?

  • abra a janela de comando aqui
  • abra a janela do PowerShell aqui
  • abra o terminal do Windows aqui

Aguardamos sua resposta, muito obrigado ~

Area-User Interface Help Wanted Issue-Feature Product-Terminal Resolution-Fix-Committed

Comentários muito úteis

Para registro, acho que preferiríamos que o terminal registrasse automaticamente esse atalho em nome do usuário.

Todos 235 comentários

Se adicioná-lo, acho que deveria haver mais uma opção de seleção no terminal Windows aberto aqui para selecionar realmente qual shell abrir como submenu do menu de contexto (ou assim) com o 'nome' escrito nos perfis do terminal, como

  • Powershell
  • CMD
  • Ubuntu

Acho que esta é uma boa solicitação de recurso e algo em que definitivamente aceitaríamos a ajuda da comunidade.

Meu instinto diz que estaria relacionado ao trabalho para # 689, mas não sei o suficiente sobre o Win32 para ter certeza.

Provavelmente é algo assim: https://www.codeproject.com/Articles/441/The-Complete-Idiot-s-Guide-to-Writing-Shell-Extens

Mas esperamos sem reintroduzir ATL em nossa base de código ...

É muito, _muito_ mais fácil do que adicionar um único comando a um menu de contexto de pasta. É apenas uma chave de registro simples.

Por exemplo (e então você também pode adicionar um ícone, etc)

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Classes\Directory\Background\shell\Open Thing Here\command]
@="C:\\thing.exe \"%1\""

para aplicativos compactados, isso é declarado no manifesto. consulte: https://docs.microsoft.com/en-us/uwp/schemas/appxpackage/uapmanifestschema/element-uap-filetypeassociation. Eu não acho que isso suporte pastas, mas comece a procurar aqui.

Provável duplicata de # 561, mas vamos rastreá-la aqui.

@miniksa @ zadjii-msft @ DHowett-MSFT @factormystic @ChrisGuzak

Resolvi o problema agora, poderia ser fechado. Muito obrigado a todos os envolvidos nesta discussão.

Etapa 0:

Teste se as duas constantes abaixo funcionam bem, as quais serão usadas nas outras etapas seguintes.

echo %USERPROFILE%

echo %LOCALAPPDATA%

Se tudo funcionar bem aqui, essas duas constantes podem ser usadas diretamente nas etapas abaixo.

Ou execute as seguintes substituições nas etapas abaixo:

% USERPROFILE% → C:\Users\[userName]
% LOCALAPPDATA% → C:\Users\[userName]\AppData\Local

Aqui [userName] representa seu nome de usuário, por exemplo, o meu é Bruce .

Passo 1:
Execute as coisas abaixo em CMD :

mkdir "%USERPROFILE%\AppData\Local\terminal"

image

Passo 2:
Copie o ícone do terminal do Windows para a pasta %USERPROFILE%\AppData\Local\terminal , o ícone pode ser obtido em https://github.com/yanglr/WindowsDevTools/tree/master/awosomeTerminal/icons cujo nome de arquivo é wt_32.ico .

Etapa 3:
Salve o conteúdo a seguir como wt.reg e execute como administrador.

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\Background\shell\wt]
@="Windows terminal here"
"Icon"="%USERPROFILE%\\AppData\\Local\\terminal\\wt_32.ico"

[HKEY_CLASSES_ROOT\Directory\Background\shell\wt\command]
@="%LOCALAPPDATA%\\Microsoft\\WindowsApps\\wt.exe"

Para ser observado , se o exe obtido após criar o código por você mesmo for wtd.exe , você precisa alterar o wt.exe para wtd.exe no registro acima.

Passo 4:
Teste
image

Isso não funcionou para mim (não consigo acessar o erro), e para mim era wtd.exe (nem funcionava).
E eu acho que este poderia ser o recurso de terminal.

@ SJang1
Eu acho que você usou a versão que criou, então precisa usar wtd.exe . Para que a nova versão oficial entre em Windows Store , wt.exe é a opção correta aqui. Por enquanto, você pode obter a versão de visualização aqui (arquivo .7z em https://github.com/yanglr/WindowsDevTools/tree/master/awosomeTerminal ) e usar wt.exe após a instalação. Eu adotei esse método.

@yanglr Eu usei o wtd.exe e não funcionou devido ao erro de não conseguir acessá-lo. No entanto, cada usuário final não conseguiu adicionar ao registro um por um.

@ SJang1
Acho que você construiu o código em Debug mode , mude para Release mode , veja abaixo:
image

@yanglr
Já integrado na versão.
image

Para registro, acho que preferiríamos que o terminal registrasse automaticamente esse atalho em nome do usuário.

@ zadjii-msft
Legal, ótimo!

Isso ainda não foi adicionado, então prefiro manter este problema aberto até que o trabalho de adicioná-lo seja concluído :)

Posso tentar se ninguém estiver trabalhando nisso?

@MelulekiDube vá em frente!

Minha dica principal aqui é que estamos tentando manter o TerminalApp mais parecido com UWP e fazendo coisas parecidas com Win32 no projeto WindowsTerminal. Uma vez que este recurso é provavelmente bastante Win32, eu provavelmente sugeriria algum tipo de evento que o App (no TerminalApp) possa disparar para notificar o AppHost (no WindowsTerminal) que ele deve ser configurado os atalhos. Como exemplo, acredito que haja um evento TitleChanged que o App pode disparar para que o AppHost defina o título da janela.

Além disso, como Profile não é do tipo winrt, pode ser difícil obter seus membros diretamente do projeto WindowsTerminal. Você pode ter que fazer com que App comunique os bits relevantes de Profile no próprio evento. Como alternativa, você pode tentar torná-lo um tipo winrt (completo com um arquivo .idl), mas pode ser um pouco mais difícil.

Boa sorte!

EDIT: Eu reviso esta declaração para HERE BE DRAGONS . Talvez seja necessário fazer um trabalho em # 607 / # 1065 antes que isso possa ser feito.

Estou preocupado com o fato de que isso terá que ser muito parecido com o # 607, que ainda está na fase de pré-especificação.

@ DHowett-MSFT é um bom ponto. Também me esqueci da regressão recente em # 1065. Na verdade, isso pode cair na categoria de coisas _duras_. Mesmo se não fizéssemos por perfil, abrir o perfil padrão no diretório atual não funcionaria.

Eu nem sei como consertaríamos o # 1065, mas se consertássemos isso, teoricamente poderíamos encontrar uma maneira de criar a nova instância do Terminal do Windows usando o diretório do explorer, mas isso não resolveria o problema -perfil problema. hmmmm.

Poderia algo como expor o directionDirectory para que você pudesse passá-lo para o exe uma opção?

Sim, isso é parte do ponto em # 607.

Olá @yanglr ,
Este não é o lugar apropriado para ter essa discussão. Este problema é para discutir o recurso “abra o Terminal do Windows aqui”.

@ DHowett-MSFT
Oh, desculpe, excluído.

Acho que seria ótimo não ter apenas “aberto o Terminal Windows aqui”, mas também “aberto o Terminal Windows aqui (Administrador)” porque ambos são bem utilizados por todos.

Eu estava pensando assim,
image
..e se ele gosta do que eu pensava, parece não haver lugar para executar como administrador nele.

Eu estava pensando assim,
image
..e se ele gosta do que eu pensava, parece não haver lugar para executar como administrador nele.

... a menos que você coloque um segundo menu principal "Abrir WT aqui (Administrador)" com os mesmos itens de submenu. Ambos deveriam ser opcionais de qualquer maneira, eu acho.

Editei o registro para adicionar a opção ao menu de contexto. No entanto, ele abre com C: \ Usuários \ nome de usuário em vez do diretório atual.

@minhtuanta

Estou preocupado com o fato de que isso terá que ser muito parecido com o # 607, que ainda está na fase de pré-especificação.

Poderia algo como expor o directionDirectory para que você pudesse passá-lo para o exe uma opção?

Sim, isso é parte do ponto em # 607.

wt.exe ainda não suporta argumentos de linha de comando, então não há como substituir em qual pasta o novo perfil começa.

se eu pudesse fazer uma sugestão, eu diria que as opções para abrir no PowerShell, CMD e / ou terminal Linux devem ser substituídas por "Abrir no terminal do Windows", já que o terminal do Windows é a combinação dos três. Então, um usuário pode definir seu padrão a partir do arquivo profile.json .

@yanglr @lllopo @ SJang1

Algo assim _deve_ funcionar por enquanto. Eu o escrevi no PowerShell porque é para um script ISO do Windows pós-instalação, mas não vejo um problema em usar isso em oposição a um arquivo .reg.

PowerShell:

$Env.terminalDir ='$Env:localAppDir\Microsoft\WindowsApps' # Not really needed (except for icon), as wt.exe in in %PATH%

Invoke-WebRequest -UseBasicParsing "https://github.com/yanglr/WindowsDevTools/raw/master/awosomeTerminal/icons/wt_32.ico" -OutFile "$Env:terminalDir\wt.ico"  # Going to update my own to just grab icon from the appx package

Set-ItemProperty-Path 'HKEY_CLASSES_ROOT\Directory\Background\shell\MenuTerminal' -Name 'MUIVerb' -Type String -Value 'Terminals'
Set-ItemProperty-Path 'HKEY_CLASSES_ROOT\Directory\Background\shell\MenuTerminal' -Name 'Icon' -Type String -Value '$Env:terminalDir\wt.ico'
Set-ItemProperty-Path 'HKEY_CLASSES_ROOT\Directory\Background\shell\MenuTerminal' -Name 'ExtendedSubCommandsKey' -Type String -Value 'Directory\\ContextMenus\\MenuTerminal'
Set-ItemProperty-Path 'HKEY_CLASSES_ROOT\Directory\ContextMenus\MenuTerminal\shell\open' -Name 'MUIVerb' -Type String -Value 'PowerShell'
Set-ItemProperty-Path 'HKEY_CLASSES_ROOT\Directory\ContextMenus\MenuTerminal\shell\open' -Name 'Icon' -Type String -Value 'PowerShell.exe'
Set-ItemProperty-Path 'HKEY_CLASSES_ROOT\Directory\ContextMenus\MenuTerminal\shell\open' -Name 'ExtendedSubCommandsKey' -Type String -Value 'Directory\\ContextMenus\\MenuTerminal\\PS'
Set-ItemProperty-Path 'HKEY_CLASSES_ROOT\Directory\ContextMenus\MenuTerminal\PS\shell\open' -Name 'MUIVerb' -Type String -Value 'PowerShell'
Set-ItemProperty-Path 'HKEY_CLASSES_ROOT\Directory\ContextMenus\MenuTerminal\PS\shell\open' -Name 'Icon' -Type String -Value '$Env:terminalDir\wt.ico'
Set-ItemProperty-Path 'HKEY_CLASSES_ROOT\Directory\ContextMenus\MenuTerminal\PS\shell\open\command' -Name '@' -Type String -Value 'wt.exe'
Set-ItemProperty-Path 'HKEY_CLASSES_ROOT\Directory\ContextMenus\MenuTerminal\PS\shell\runas' -Name 'MUIVerb' -Type String -Value 'Elevated PowerShell'
Set-ItemProperty-Path 'HKEY_CLASSES_ROOT\Directory\ContextMenus\MenuTerminal\PS\shell\runas' -Name 'Icon' -Type String -Value '$Env:terminalDir\wt.ico'
Set-ItemProperty-Path 'HKEY_CLASSES_ROOT\Directory\ContextMenus\MenuTerminal\PS\shell\runas' -Name 'HasLUAShield' -Type String -Value ''
Set-ItemProperty-Path 'HKEY_CLASSES_ROOT\Directory\ContextMenus\MenuTerminal\PS\shell\runas\command'-Name '@' -Type String -Value 'wt.exe'

E algo assim _deve_ funcionar quando alguém é capaz de escolher entre CMD e PowerShell ao iniciar o Terminal (supondo que use --Profile [CMD | PowerShell] ):

PowerShell:

$Env.terminalDir ='$Env:localAppDir\Microsoft\WindowsApps'   # Not really needed (except for icon), as wt.exe in in %PATH%

Invoke-WebRequest -UseBasicParsing "https://github.com/yanglr/WindowsDevTools/raw/master/awosomeTerminal/icons/wt_32.ico" -OutFile "$Env:terminalDir\wt.ico"  # Going to update my own to just grab icon from the appx package

Set-ItemProperty-Path 'HKEY_CLASSES_ROOT\Directory\Background\shell\MenuTerminal' -Name 'MUIVerb' -Type String -Value 'Terminals'
Set-ItemProperty-Path 'HKEY_CLASSES_ROOT\Directory\Background\shell\MenuTerminal' -Name 'Icon' -Type String -Value '$Env:terminalDir\wt.ico'
Set-ItemProperty-Path 'HKEY_CLASSES_ROOT\Directory\Background\shell\MenuTerminal' -Name 'ExtendedSubCommandsKey' -Type String -Value 'Directory\\ContextMenus\\MenuTerminal'
Set-ItemProperty-Path 'HKEY_CLASSES_ROOT\Directory\ContextMenus\MenuTerminal\shell\open' -Name 'MUIVerb' -Type String -Value 'Command Prompt'
Set-ItemProperty-Path 'HKEY_CLASSES_ROOT\Directory\ContextMenus\MenuTerminal\shell\open' -Name 'Icon' -Type String -Value 'cmd.exe'
Set-ItemProperty-Path 'HKEY_CLASSES_ROOT\Directory\ContextMenus\MenuTerminal\shell\open' -Name 'ExtendedSubCommandsKey' -Type String -Value 'Directory\\ContextMenus\\MenuTerminal\\CMD'
Set-ItemProperty-Path 'HKEY_CLASSES_ROOT\Directory\ContextMenus\MenuTerminal\CMD\shell\open' -Name 'MUIVerb' -Type String -Value 'Command Prompt'
Set-ItemProperty-Path 'HKEY_CLASSES_ROOT\Directory\ContextMenus\MenuTerminal\CMD\shell\open' -Name 'Icon' -Type String -Value '$Env:terminalDir\wt.ico'
Set-ItemProperty-Path 'HKEY_CLASSES_ROOT\Directory\ContextMenus\MenuTerminal\CMD\shell\open\command' -Name '@' -Type String -Value 'wt.exe --profile CMD'
Set-ItemProperty-Path 'HKEY_CLASSES_ROOT\Directory\ContextMenus\MenuTerminal\CMD\shell\runas' -Name 'MUIVerb' -Type String -Value 'Elevated Terminal'
Set-ItemProperty-Path 'HKEY_CLASSES_ROOT\Directory\ContextMenus\MenuTerminal\CMD\shell\runas' -Name 'Icon' -Type String -Value '$Env:terminalDir\wt.ico'
Set-ItemProperty-Path 'HKEY_CLASSES_ROOT\Directory\ContextMenus\MenuTerminal\CMD\shell\runas' -Name 'HasLUAShield' -Type String -Value ''
Set-ItemProperty-Path 'HKEY_CLASSES_ROOT\Directory\ContextMenus\MenuTerminal\CMD\shell\runas\command'-Name '@' -Type String -Value 'wt.exe --profile CMD'
Set-ItemProperty-Path 'HKEY_CLASSES_ROOT\Directory\ContextMenus\MenuTerminal\shell\open' -Name 'MUIVerb' -Type String -Value 'PowerShell'
Set-ItemProperty-Path 'HKEY_CLASSES_ROOT\Directory\ContextMenus\MenuTerminal\shell\open' -Name 'Icon' -Type String -Value 'PowerShell.exe'
Set-ItemProperty-Path 'HKEY_CLASSES_ROOT\Directory\ContextMenus\MenuTerminal\shell\open' -Name 'ExtendedSubCommandsKey' -Type String -Value 'Directory\\ContextMenus\\MenuTerminal\\PS'
Set-ItemProperty-Path 'HKEY_CLASSES_ROOT\Directory\ContextMenus\MenuTerminal\PS\shell\open' -Name 'MUIVerb' -Type String -Value 'PowerShell'
Set-ItemProperty-Path 'HKEY_CLASSES_ROOT\Directory\ContextMenus\MenuTerminal\PS\shell\open' -Name 'Icon' -Type String -Value '$Env:terminalDir\wt.ico'
Set-ItemProperty-Path 'HKEY_CLASSES_ROOT\Directory\ContextMenus\MenuTerminal\PS\shell\open\command' -Name '@' -Type String -Value 'wt.exe --profile PowerShell'
Set-ItemProperty-Path 'HKEY_CLASSES_ROOT\Directory\ContextMenus\MenuTerminal\PS\shell\runas' -Name 'MUIVerb' -Type String -Value 'Elevated PowerShell'
Set-ItemProperty-Path 'HKEY_CLASSES_ROOT\Directory\ContextMenus\MenuTerminal\PS\shell\runas' -Name 'Icon' -Type String -Value '$Env:terminalDir\wt.ico'
Set-ItemProperty-Path 'HKEY_CLASSES_ROOT\Directory\ContextMenus\MenuTerminal\PS\shell\runas' -Name 'HasLUAShield' -Type String -Value ''
Set-ItemProperty-Path 'HKEY_CLASSES_ROOT\Directory\ContextMenus\MenuTerminal\PS\shell\runas\command'-Name '@' -Type String -Value 'wt.exe --Profile PowerShell'

@yanglr Eu segui seus passos, o menu do botão direito aparece, mas quando clicado, explorer.exe diz "O Windows não pode acessar o dispositivo, caminho ou arquivo especificado. Você pode não ter a permissão apropriada para acessar o item." (Windows não pode Acesse o dispositivo, caminho ou arquivo especificado. Você pode não ter as permissões adequadas para acessar o item).

Executando "% LOCALAPPDATA% \ Microsoft \ WindowsApps \ wt.exe" no prompt do cmd abre um novo terminal conforme o esperado e eu tenho uma configuração semelhante para msys, wsl-terminal, tudo funciona bem, apenas o terminal Windows não funciona.

@ chen-xin Isso é algo que funcionou para mim para o erro de acesso.
Siga as mesmas etapas de https://github.com/microsoft/terminal/issues/1060#issuecomment -497539461
Mas, para o caminho wt.exe , em vez de usar %LOCALAPPDATA% , use o caminho completo real como C:\\Users\\[your_user_acc]\\AppData\\Local\\Microsoft\\WindowsApps\\wt.exe .

Além disso, não adicione startingDirectory nas configurações.

@saisandeepvaddi Funcionou em fullpath, obrigado!

@miniksa @ zadjii-msft @ DHowett-MSFT @factormystic @ChrisGuzak

Resolvi o problema agora, poderia ser fechado. Muito obrigado a todos os envolvidos nesta discussão.

Etapa 0:

Teste se as duas constantes abaixo funcionam bem, as quais serão usadas nas outras etapas seguintes.

echo %USERPROFILE%

echo %LOCALAPPDATA%

Se tudo funcionar bem aqui, essas duas constantes podem ser usadas diretamente nas etapas abaixo.

Ou execute as seguintes substituições nas etapas abaixo:

% USERPROFILE% → C:\Users\[userName]
% LOCALAPPDATA% → C:\Users\[userName]\AppData\Local

Aqui [userName] representa seu nome de usuário, por exemplo, o meu é Bruce .

Passo 1:
Execute as coisas abaixo em CMD :

mkdir "%USERPROFILE%\AppData\Local\terminal"

image

Passo 2:
Copie o ícone do terminal do Windows para a pasta %USERPROFILE%\AppData\Local\terminal , o ícone pode ser obtido em https://github.com/yanglr/WindowsDevTools/tree/master/awosomeTerminal/icons cujo nome de arquivo é wt_32.ico .

Etapa 3:
Salve o conteúdo a seguir como wt.reg e execute como administrador.

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\Background\shell\wt]
@="Windows terminal here"
"Icon"="%USERPROFILE%\\AppData\\Local\\terminal\\wt_32.ico"

[HKEY_CLASSES_ROOT\Directory\Background\shell\wt\command]
@="%LOCALAPPDATA%\\Microsoft\\WindowsApps\\wt.exe"

Para ser observado , se o exe obtido após criar o código por você mesmo for wtd.exe , você precisa alterar o wt.exe para wtd.exe no registro acima.

Passo 4:
Teste
image

image

Eu segui suas instruções, mas este erro ocorre em todos os lugares que inicio o _Terminal do Windows aqui_

@miniksa @ zadjii-msft @ DHowett-MSFT @factormystic @ChrisGuzak
Resolvi o problema agora, poderia ser fechado. Muito obrigado a todos os envolvidos nesta discussão.
Etapa 0:
Teste se as duas constantes abaixo funcionam bem, as quais serão usadas nas outras etapas seguintes.

echo %USERPROFILE%

echo %LOCALAPPDATA%

Se tudo funcionar bem aqui, essas duas constantes podem ser usadas diretamente nas etapas abaixo.
Ou execute as seguintes substituições nas etapas abaixo:
% USERPROFILE% → C:\Users\[userName]
% LOCALAPPDATA% → C:\Users\[userName]\AppData\Local
Aqui [userName] representa seu nome de usuário, por exemplo, o meu é Bruce .
Passo 1:
Execute as coisas abaixo em CMD :

mkdir "%USERPROFILE%\AppData\Local\terminal"

image
Passo 2:
Copie o ícone do terminal do Windows para a pasta %USERPROFILE%\AppData\Local\terminal , o ícone pode ser obtido em https://github.com/yanglr/WindowsDevTools/tree/master/awosomeTerminal/icons cujo nome de arquivo é wt_32.ico .
Etapa 3:
Salve o conteúdo a seguir como wt.reg e execute como administrador.

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\Background\shell\wt]
@="Windows terminal here"
"Icon"="%USERPROFILE%\\AppData\\Local\\terminal\\wt_32.ico"

[HKEY_CLASSES_ROOT\Directory\Background\shell\wt\command]
@="%LOCALAPPDATA%\\Microsoft\\WindowsApps\\wt.exe"

Para ser observado , se o exe obtido após criar o código por você mesmo for wtd.exe , você precisa alterar o wt.exe para wtd.exe no registro acima.
Passo 4:
Teste
image

image

Eu segui suas instruções, mas este erro ocorre em todos os lugares que inicio o _Terminal do Windows aqui_

Como @saisandeepvaddi determinado ,
Para o caminho wt.exe , em vez de usar %LOCALAPPDATA% , use o caminho completo real como C:\\Users\\[your_user_acc]\\AppData\\Local\\Microsoft\\WindowsApps\\wt.exe .

Além disso, não adicione startingDirectory nas configurações.

Funciona bem no meu PC. Você pode experimentá-lo.

Tentei adicionar wt.exe ao registro, conforme descrito antes, mas tenho o seguinte erro:
image

O terminal é iniciado a partir da linha de comando (Win + R | "wt") normalmente.

Acho que a customização do novo Terminal é um ponto forte. E se isso estivesse nas configurações? Diga, "ExplorerIntegration": true . Em seguida, um script de lote pode adicioná-los como no projeto FluentTerminal .

Ei, eu passei um pouco hackeando para conseguir abrir o Windows Terminal em uma pasta específica com o botão direito do mouse e achei que poderia ser interessante / útil para alguém. Isso também parece funcionar quando você alterna para o subsistema Linux, mas não para o CMD. Você também pode simplesmente não usar o perfil do PowerShell e usar o $ env com um nome um pouco melhor para obter uma variável para usar entre os três.

Supondo que você seguiu o guia acima, você precisa de dois arquivos extras:

C: \ Usuários \ [Seu nome de usuário] AppData \ Local \ terminal \ launchwt.bat

set wt_powershell_dir=%cd%
start %LOCALAPPDATA%\\Microsoft\\WindowsApps\\wt.exe
exit

C: \ Users \ [Seu nome de usuário] \ Documents \ WindowsPowerShell \ Microsoft.PowerShell_profile.ps1

if (Test-Path $env:wt_powershell_dir) {
   cd $env:wt_powershell_dir
   Remove-Item Env:\wt_powershell_dir
}

Você também precisará acessar a chave de registro que instalou e atualizou para apontar para o arquivo em lote:

Computer\HKEY_CLASSES_ROOT\Directory\Background\shell\wt\command

C:\Users\[Your Username]\AppData\Local\terminal\launchwt.bat

Tem sido divertido brincar com o terminal até agora, muito obrigado 😄.

@minhtuanta Tente deletar startingDirectory nas configurações. 😊

Excluir startingDirectory funciona para mim. Que configuração sorrateira 😛

Como uma alternativa para o menu do botão direito (trabalho incrível até agora): se você destacar a barra de endereço do seu diretório atual pressionando ctrl+l ou clicando nela e depois digitar wt.exe , o terminal do Windows será aberto seu shell padrão nesse diretório.

@kaeside deseja adicionar- open shell default no diretório atual "em uma nova aba, se o Terminal já estiver em execução."

Você pode obter o ícone real do repo no github

@kaeside Não tenho certeza de qual versão você está usando, mas eu sempre abro o Prompt de Comando desta forma (Alt + D, digite cmd ) e ele abre no diretório de trabalho atual, mas no caso do Terminal do Windows, ele sempre abre no Diretório do usuário.
Pelo menos por Version: 0.3.2171.0

Sim, isso se deve a startingDirectory , que é mencionado em vários outros comentários neste tópico. A correção é # 607, que também é mencionada.

Tentei adicionar wt.exe ao registro, conforme descrito antes, mas tenho o seguinte erro:
image

O terminal é iniciado a partir da linha de comando (Win + R | "wt") normalmente.

No meu caso, wt.exe está localizado em C:\Users\[your_user_name]\AppData\Local\Microsoft\WindowsApps\ .
E você pode verificar cada item em sua variável de ambiente% PATH%.

Recentemente, atualizei o terminal do Windows para a versão: 0.5.2661.0.
De repente, clique com o botão direito do mouse no menu de contexto "abra o terminal do Windows aqui" sempre inicia em C:\Users\[username] , mesmo quando o profiles.json não contém "initialDirectory".

O que corrigir isso para mim foi adicionar "startedDirectory": "." para o profiles.json.
Espero que isso ajude alguém com problema semelhante.

Um arquivo em lote que resolve os problemas com a solução de @yanglr . Em particular, o motivo pelo qual as variáveis ​​de ambiente não estavam funcionando é porque as strings que as contêm precisam ser adicionadas como REG_MULTI_SZ, não o REG_SZ padrão.

<strong i="7">@echo</strong> off

reg.exe add "HKEY_CLASSES_ROOT\Directory\Background\shell\wt" /f /ve /d "Windows Terminal here"
reg.exe add "HKEY_CLASSES_ROOT\Directory\Background\shell\wt" /f /v "Icon" /t REG_EXPAND_SZ /d "\"%%USERPROFILE%%\Downloads\terminal.ico\""

reg.exe add "HKEY_CLASSES_ROOT\Directory\Background\shell\wt\command" /f /ve /t REG_EXPAND_SZ /d "\"%%LOCALAPPDATA%%\Microsoft\WindowsApps\wt.exe\""

pause

Despeje o conteúdo acima em um arquivo .bat, personalize a localização do ícone para experimentar, salve e execute como Administrador , aproveite E não se esqueça do comentário de @rendrap sobre mudar o perfil startingDirectory para . para fazer isso funcionar como esperado.

@IanKemp bem, agora as variáveis ​​de ambiente funcionam, obrigado, mas desde a última atualização da app store ela não abre no diretório. Você tem alguma solução para isso?

@poqdavid Eu sugiro que você leia o comentário de @rendrap , como sugeri.

Tenho o botão direito do mouse em "Abrir Terminal Windows aqui" funcionando, mas não consigo descobrir como fazê-lo funcionar como Administrador. Tentei usar runas no Registro, bem como o verbo runas, sem sorte.

No entanto, se eu pressionar a tecla Windows -> digite Terminal -> clique em "Executar como administrador", recebo um Terminal Windows executando como administrador, então é definitivamente possível.

Qual é o ingrediente secreto para configurar o ambiente do WT para que ele comece como administrador?

@IanKemp Se você trabalha principalmente com o PowerShell, pode tentar o sudo . Este script permite que você execute comandos como administrador em uma janela PowerShell não elevada.

Aqui está o meu arquivo que eu uso, ele não abre o caminho, mas pelo menos parece bom:

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\Background\shell\wt]
@="Windows terminal here"
"Icon"="%ProgramFiles%\\WindowsApps\\Microsoft.WindowsTerminal_0.5.2681.0_x64__8wekyb3d8bbwe\\WindowsTerminal.exe"
"Extended"=""

[HKEY_CLASSES_ROOT\Directory\Background\shell\wt\command]
@="C:\\Users\\andre\\AppData\\Local\\Microsoft\\WindowsApps\\wt.exe"


[HKEY_CLASSES_ROOT\Directory\shell\wt]
@="Windows terminal here"
"Icon"="%ProgramFiles%\\WindowsApps\\Microsoft.WindowsTerminal_0.5.2681.0_x64__8wekyb3d8bbwe\\WindowsTerminal.exe"
"Extended"=""

[HKEY_CLASSES_ROOT\Directory\shell\wt\command]
@="C:\\Users\\andre\\AppData\\Local\\Microsoft\\WindowsApps\\wt.exe"

EDITAR: Como mencionado acima, defina seu diretório inicial como "." em seu profiles.json

"startingDiretory" : ".",

Eu uso o Windows Terminal com Ubuntu WSL
Existe alguma maneira de fazer com que, se eu usar "Windows terminal here", ele abra no diretório em que estou, mas se eu apenas iniciar o Windows Terminal normalmente, ele me leva ao Ubuntu ~?

Fazer com que ele me deixasse na casa do Ubuntu por padrão foi relativamente fácil de fazer assim:
"commandline" : "wsl.exe ~ -d Ubuntu-18.04"
mas adicionar "startingDirectory": "." naturalmente não traz o resultado esperado para o atalho do menu de contexto. Sem o ~ no commandline ele gera um shell em /mnt/c/Windows/System32

Aqui está um snippet do meu arquivo de configurações:

    "defaultProfile": "{2c4de342-38b7-51cf-b940-2309a097f518}",
    "profiles":
    [
        {
            "guid": "{2c4de342-38b7-51cf-b940-2309a097f518}",
            "name": "Ubuntu",
            // ... SNIPP
            //"startingDirectory" : "\\\\wsl$\\Ubuntu\\home\\andre",
            "startingDirectory" : ".",
            // ... SNIPP
        },
        // ... SNIPP
    ]

Este abre o seu diretório ao usar Windows terminal here . Mas abrirá /mnt/c/Windows/System32 quando o terminal estiver aberto normalmente. Meu eu não resolvi esse problema éter.
Como você pode ver, eu também defini o diretório inicial antes de começar a usar "."

@zambelly Não atualmente. Esse cenário provavelmente exigiria que # 878 fosse corrigido para ser capaz de oferecer suporte.

Tenho o botão direito do mouse em "Abrir Terminal Windows aqui" funcionando, mas não consigo descobrir como fazê-lo funcionar como Administrador. Tentei usar runas no Registro, bem como o verbo runas, sem sorte.

No entanto, se eu pressionar a tecla Windows -> digite Terminal -> clique em "Executar como administrador", recebo um Terminal Windows executando como administrador, então é definitivamente possível.

Qual é o ingrediente secreto para configurar o ambiente do WT para que ele comece como administrador?

@IanKemp Você pode tentar desta forma alterando o valor de command na chave de registro runas :
cmd.exe /s /c pushd "%V" & start wt.exe

Embora seja um pouco tortuoso, pelo menos isso funciona para mim.

há uma maneira de, se já houver uma instância de wt.exe em execução, adicionar uma guia lá?
E há uma maneira de especificar qual perfil a nova guia possui?

Tentei adicionar wt.exe ao registro, conforme descrito antes, mas tenho o seguinte erro:
image

O terminal é iniciado a partir da linha de comando (Win + R | "wt") normalmente.

Mesmo problema da minha parte, não sei como consertar. Arquivo de registro da seguinte forma:

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\Background\shell\wt]
@="Open Windows terminal here"
"Icon"="%USERPROFILE%\\AppData\\Local\\terminal\\wt.ico"

[HKEY_CLASSES_ROOT\Directory\Background\shell\wt\command]
@="%LOCALAPPDATA%\\Microsoft\\WindowsApps\\wt.exe"


[HKEY_CLASSES_ROOT\Directory\shell\wt]
@="Open Windows terminal here"
"Icon"="%USERPROFILE%\\AppData\\Local\\terminal\\wt.ico"

[HKEY_CLASSES_ROOT\Directory\shell\wt\command]
@="%LOCALAPPDATA%\\Microsoft\\WindowsApps\\wt.exe"

Você precisa ter um caminho absoluto e não usar uma variável
consulte: https://github.com/microsoft/terminal/issues/1060#issuecomment -536322970

Acho que esse é o motivo pelo qual não estou usando mais o Terminal, já que abro o prompt de comando 80% do Explorador de Arquivos. O resto vem de Win + R + cmd + Enter, e acabei de aprender sobre o apelido wt , então isso vai ajudar.

Quando isso for feito, haverá uma grande oportunidade de expô-lo em Configurações, bem como onde eles têm a opção PowerShell / CMD:

image

Seria ótimo ter apenas a opção de selecionar o shell preferido como um menu suspenso e ter o Terminal como uma opção se estiver instalado.

@ michael-hawker, o que você realmente está procurando aqui é # 492 😁

Automatizei todo o processo em um arquivo bat que você precisa para executar como administrador.
Adicione o Terminal do Windows ao menu de contexto.zip
Você ainda precisa modificar o diretório inicial em profiles.json para "startingDirectory" : ".",

@ Restia666Ashdoll que não parece obter o .ico corretamente

Mas funciona aqui
image

Experimente isso. Abra a localização do arquivo terminal.ico. Agora, vá para a barra de endereços e digite "cmd".
Agora, no Prompt de Comando, digite o seguinte comando
xcopy "terminal.ico" "%LOCALAPPDATA%\Packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\LocalState\" /b /v /y /q

Não funciona

Basta abrir "% LOCALAPPDATA% \ Packages \ Microsoft.WindowsTerminal_8wekyb3d8bbwe \ LocalState" e copiar manualmente o arquivo ico

Sim, eu fiz isso, mas o problema é que a chave de registro não está pegando o ico

Automatizei todo o processo em um arquivo bat que você precisa para executar como administrador.
Adicione o Terminal do Windows ao menu de contexto.zip
Você ainda precisa modificar o diretório inicial em profiles.json para "startingDiretory" : ".",

Aviso: Ocorreu um erro de digitação, deve usar "startingDirectory" : "." invés.

e a chave HKEY_CURRENT_USER\Software\Classes\Directory\Background\shell\wt ? Não precisa de permissão de administrador

e a chave HKEY_CURRENT_USER\Software\Classes\Directory\Background\shell\wt ? Não precisa de permissão de administrador

É apenas para o usuário atual.

@ Restia666Ashdoll e @musm ,

image

@edrohler Por que você está me citando? Eu não tenho esse problema.

@Horacehxw isso é apenas se for a última entrada.

@ Restia666Ashdoll Eu citei você pensando que pode querer compartilhar as informações com o seu script em lote, se alguém perguntar. :)

saia e faça login novamente

@edrohler Use o gerenciador de tarefas para reiniciar explorer.exe é o suficiente.
Quando você tiver pelo menos 1 pasta aberta, o gerenciador de tarefas mostrará Reiniciar para ela na posição normal de Finalizar Tarefa (na primeira página, não processar detalhes)

@Horacehxw isso é apenas se for a última entrada.

O problema não é a vírgula no final, mas a grafia de "Diretório". Falta "c" no anterior.

Automatizei todo o processo em um arquivo bat que você precisa para executar como administrador.
Adicione o Terminal do Windows ao menu de contexto.zip
Você ainda precisa modificar o diretório inicial em profiles.json para "startingDirectory" : ".",

Eu tentei isso, mas há dois problemas: agora há startingDirectory no profile.json:


// To view the default settings, hold "alt" while clicking on the "Settings" button.
// For documentation on these settings, see: https://aka.ms/terminal-documentation

{
    "$schema": "https://aka.ms/terminal-profiles-schema",

    "defaultProfile": "{61c54bbd-c2c6-5271-96e7-009a87ff44bf}",

    "profiles":
    [
        {
            // Make changes here to the powershell.exe profile
            "guid": "{61c54bbd-c2c6-5271-96e7-009a87ff44bf}",
            "name": "Windows PowerShell",
            "commandline": "powershell.exe",
            "hidden": false
        },
        {
            // Make changes here to the cmd.exe profile
            "guid": "{0caa0dad-35be-5f56-a8ff-afceeeaa6101}",
            "name": "cmd",
            "commandline": "cmd.exe",
            "hidden": false
        },
        {
            "guid": "{b453ae62-4e3d-5e58-b989-0a998ec441b8}",
            "hidden": false,
            "name": "Azure Cloud Shell",
            "source": "Windows.Terminal.Azure"
        },
        {
            "guid": "{c6eaf9f4-32a7-5fdc-b5cf-066e8a4b1e40}",
            "hidden": false,
            "name": "Ubuntu-18.04",
            "source": "Windows.Terminal.Wsl"
        }
    ],

    // Add custom color schemes to this array
    "schemes": [],

    // Add any keybinding overrides to this array.
    // To unbind a default keybinding, set the command to "unbound"
    "keybindings": []
}

Outro problema é que o terminal não vai para o caminho 'aqui' correto, ele começa apenas no caminho do meu usuário

Automatizei todo o processo em um arquivo bat que você precisa para executar como administrador.
Adicione o Terminal do Windows ao menu de contexto.zip
Você ainda precisa modificar o diretório inicial em profiles.json para "startingDiretory" : ".",

Aviso: Ocorreu um erro de digitação, deve usar "startingDirectory" : "." invés.

Isso funciona muito bem se você abrir aqui ...
O único problema que percebi é que se você abrir o terminal normalmente ... o diretório padrão é system32 ... há alguma maneira de substituir e fazer com que ele use a pasta do usuário quando aberto normalmente por acaso?

Automatizei todo o processo em um arquivo bat que você precisa para executar como administrador.
Adicione o Terminal do Windows ao menu de contexto.zip
Você ainda precisa modificar o diretório inicial em profiles.json para "startingDirectory" : ".",

Eu tentei isso, mas há dois problemas: agora há startingDirectory no profile.json:


// To view the default settings, hold "alt" while clicking on the "Settings" button.
// For documentation on these settings, see: https://aka.ms/terminal-documentation

{
    "$schema": "https://aka.ms/terminal-profiles-schema",

    "defaultProfile": "{61c54bbd-c2c6-5271-96e7-009a87ff44bf}",

    "profiles":
    [
        {
            // Make changes here to the powershell.exe profile
            "guid": "{61c54bbd-c2c6-5271-96e7-009a87ff44bf}",
            "name": "Windows PowerShell",
            "commandline": "powershell.exe",
            "hidden": false
        },
        {
            // Make changes here to the cmd.exe profile
            "guid": "{0caa0dad-35be-5f56-a8ff-afceeeaa6101}",
            "name": "cmd",
            "commandline": "cmd.exe",
            "hidden": false
        },
        {
            "guid": "{b453ae62-4e3d-5e58-b989-0a998ec441b8}",
            "hidden": false,
            "name": "Azure Cloud Shell",
            "source": "Windows.Terminal.Azure"
        },
        {
            "guid": "{c6eaf9f4-32a7-5fdc-b5cf-066e8a4b1e40}",
            "hidden": false,
            "name": "Ubuntu-18.04",
            "source": "Windows.Terminal.Wsl"
        }
    ],

    // Add custom color schemes to this array
    "schemes": [],

    // Add any keybinding overrides to this array.
    // To unbind a default keybinding, set the command to "unbound"
    "keybindings": []
}

Outro problema é que o terminal não vai para o caminho 'aqui' correto, ele começa apenas no caminho do meu usuário

Aqui está o meu perfil se você estiver interessado

{
    "$schema": "https://aka.ms/terminal-profiles-schema",
    "globals" : 
    {
        "alwaysShowTabs" : true,
        "defaultProfile" : "{61c54bbd-c2c6-5271-96e7-009a87ff44bf}",
        "disabledProfileSources": [
        "Windows.Terminal.Azure"
    ],
        "initialCols" : 120,
        "initialRows" : 30,
        "keybindings" : 
        [
            {
                "command" : "closePane",
                "keys" : 
                [
                    "ctrl+shift+w"
                ]
            },
            {
                "command" : "copy",
                "keys" : 
                [
                    "ctrl+shift+c"
                ]
            },
            {
                "command" : "duplicateTab",
                "keys" : 
                [
                    "ctrl+shift+d"
                ]
            },
            {
                "command" : "newTab",
                "keys" : 
                [
                    "ctrl+shift+t"
                ]
            },
            {
                "command" : "newTabProfile0",
                "keys" : 
                [
                    "ctrl+shift+1"
                ]
            },
            {
                "command" : "newTabProfile1",
                "keys" : 
                [
                    "ctrl+shift+2"
                ]
            },
            {
                "command" : "newTabProfile2",
                "keys" : 
                [
                    "ctrl+shift+3"
                ]
            },
            {
                "command" : "newTabProfile3",
                "keys" : 
                [
                    "ctrl+shift+4"
                ]
            },
            {
                "command" : "newTabProfile4",
                "keys" : 
                [
                    "ctrl+shift+5"
                ]
            },
            {
                "command" : "newTabProfile5",
                "keys" : 
                [
                    "ctrl+shift+6"
                ]
            },
            {
                "command" : "newTabProfile6",
                "keys" : 
                [
                    "ctrl+shift+7"
                ]
            },
            {
                "command" : "newTabProfile7",
                "keys" : 
                [
                    "ctrl+shift+8"
                ]
            },
            {
                "command" : "newTabProfile8",
                "keys" : 
                [
                    "ctrl+shift+9"
                ]
            },
            {
                "command" : "nextTab",
                "keys" : 
                [
                    "ctrl+tab"
                ]
            },
            {
                "command" : "openSettings",
                "keys" : 
                [
                    "ctrl+,"
                ]
            },
            {
                "command" : "paste",
                "keys" : 
                [
                    "ctrl+shift+v"
                ]
            },
            {
                "command" : "prevTab",
                "keys" : 
                [
                    "ctrl+shift+tab"
                ]
            },
            {
                "command" : "scrollDown",
                "keys" : 
                [
                    "ctrl+shift+down"
                ]
            },
            {
                "command" : "scrollDownPage",
                "keys" : 
                [
                    "ctrl+shift+pgdn"
                ]
            },
            {
                "command" : "scrollUp",
                "keys" : 
                [
                    "ctrl+shift+up"
                ]
            },
            {
                "command" : "scrollUpPage",
                "keys" : 
                [
                    "ctrl+shift+pgup"
                ]
            },
            {
                "command" : "switchToTab0",
                "keys" : 
                [
                    "ctrl+alt+1"
                ]
            },
            {
                "command" : "switchToTab1",
                "keys" : 
                [
                    "ctrl+alt+2"
                ]
            },
            {
                "command" : "switchToTab2",
                "keys" : 
                [
                    "ctrl+alt+3"
                ]
            },
            {
                "command" : "switchToTab3",
                "keys" : 
                [
                    "ctrl+alt+4"
                ]
            },
            {
                "command" : "switchToTab4",
                "keys" : 
                [
                    "ctrl+alt+5"
                ]
            },
            {
                "command" : "switchToTab5",
                "keys" : 
                [
                    "ctrl+alt+6"
                ]
            },
            {
                "command" : "switchToTab6",
                "keys" : 
                [
                    "ctrl+alt+7"
                ]
            },
            {
                "command" : "switchToTab7",
                "keys" : 
                [
                    "ctrl+alt+8"
                ]
            },
            {
                "command" : "switchToTab8",
                "keys" : 
                [
                    "ctrl+alt+9"
                ]
            }
        ],
        "requestedTheme" : "system",
        "showTabsInTitlebar" : true,
        "showTerminalTitleInTitlebar" : true,
        "wordDelimiters" : " ./\\()\"'-:,.;<>~!@#$%^&*|+=[]{}~?\u2502"
    },
    "profiles" : 
    [
        {
            "acrylicOpacity" : 0.75,
            "background" : "#012456",
            "closeOnExit" : true,
            "colorScheme" : "One Half Dark",
            "commandline" : "powershell.exe",
            "cursorColor" : "#FFFFFF",
            "cursorShape" : "bar",
            "fontFace" : "Consolas",
            "fontSize" : 10,
            "guid" : "{61c54bbd-c2c6-5271-96e7-009a87ff44bf}",
            "historySize" : 9001,
            "icon" : "ms-appx:///ProfileIcons/{61c54bbd-c2c6-5271-96e7-009a87ff44bf}.png",
            "name" : "Windows PowerShell",
            "padding" : "0, 0, 0, 0",
            "snapOnInput" : true,
            "startingDirectory" : ".",
            "useAcrylic" : true
        },
        {
            "acrylicOpacity" : 0.75,
            "closeOnExit" : true,
            "colorScheme" : "One Half Dark",
            "commandline" : "cmd.exe",
            "cursorColor" : "#FFFFFF",
            "cursorShape" : "bar",
            "fontFace" : "Consolas",
            "fontSize" : 10,
            "guid" : "{0caa0dad-35be-5f56-a8ff-afceeeaa6101}",
            "historySize" : 9001,
            "icon" : "ms-appx:///ProfileIcons/{0caa0dad-35be-5f56-a8ff-afceeeaa6101}.png",
            "name" : "Command Prompt",
            "padding" : "0, 0, 0, 0",
            "snapOnInput" : true,
            "startingDirectory" : ".",
            "useAcrylic" : true
        },
        {
            "acrylicOpacity" : 0.75,
            "closeOnExit" : true,
            "colorScheme" : "flat-ui-v1",
            "commandline" : "cmd.exe /c set MSYS=winsymlinks:nativestrict&& set MSYS2_PATH_TYPE=inherit&& msys2 -i -l",
            "cursorColor" : "#FFFFFF",
            "cursorShape" : "bar",
            "fontFace" : "Consolas",
            "fontSize" : 10,
            "historySize" : 9001,
            "icon" : "%SCOOP%\\apps\\msys2\\current\\msys2.ico",
            "name" : "MSYS2",
            "padding" : "0, 0, 0, 0",
            "snapOnInput" : true,
            "startingDirectory" : ".",
            "useAcrylic" : true
        },
        {
            "acrylicOpacity" : 0.75,
            "closeOnExit" : true,
            "colorScheme" : "flat-ui-v1",
            "commandline" : "cmd.exe /c set MSYS=winsymlinks:nativestrict&& set MSYS2_PATH_TYPE=inherit&& mingw64 -i -l",
            "cursorColor" : "#FFFFFF",
            "cursorShape" : "bar",
            "fontFace" : "Consolas",
            "fontSize" : 10,
            "historySize" : 9001,
            "icon" : "%SCOOP%\\apps\\msys2\\current\\mingw64.ico",
            "name" : "MinGW64",
            "padding" : "0, 0, 0, 0",
            "snapOnInput" : true,
            "startingDirectory" : ".",
            "useAcrylic" : true
        },
        {         
            "guid": "{a5a97cb8-8961-5535-816d-772efe0c6a3f}",
            "acrylicOpacity" : 0.75,
            "background" : "#012456",
            "closeOnExit" : true,
            "colorScheme" : "flat-ui-v1",
            "cursorColor" : "#FFFFFF",
            "cursorShape" : "bar",
            "fontFace" : "Consolas",
            "fontSize" : 10,
            "hidden": false,
            "name": "Arch",
            "icon" : "%SCOOP%\\apps\\archwsl\\current\\arch.ico",
            "source": "Windows.Terminal.Wsl",
            "padding" : "0, 0, 0, 0",
            "snapOnInput" : true,
            "startingDirectory" : ".",
            "useAcrylic" : true
        },
        {        
            "acrylicOpacity" : 0.75,
            "closeOnExit" : true,
            "colorScheme" : "flat-ui-v1",
            "commandline" : "\"%SCOOP%\\apps\\git-with-openssh\\current\\bin\\bash.exe\" -i -l",
            "cursorColor" : "#FFFFFF",
            "cursorShape" : "bar",
            "fontFace" : "Consolas",
            "fontSize" : 10,
            "historySize" : 9001,
            "icon" : "%SCOOP%\\apps\\git-with-openssh\\current\\mingw64\\share\\git\\git-for-windows.ico",
            "name" : "Git Bash",
            "padding" : "0, 0, 0, 0",
            "snapOnInput" : true,
            "startingDirectory" : ".",
            "useAcrylic" : true
        }
    ],
        {
            "acrylicOpacity" : 0.75,
            "background" : "#012456",
            "closeOnExit" : true,
            "colorScheme" : "One Half Dark",
            "commandline" : "powershell.exe",
            "cursorColor" : "#FFFFFF",
            "cursorShape" : "bar",
            "fontFace" : "Consolas",
            "fontSize" : 10,
            "guid" : "{61c54bbd-c2c6-5271-96e7-009a87ff44bf}",
            "historySize" : 9001,
            "icon" : "ms-appx:///ProfileIcons/{61c54bbd-c2c6-5271-96e7-009a87ff44bf}.png",
            "backgroundImage" : "ms-appdata:///local/1537295612521.png",
            "backgroundImageOpacity" : 0.75,
            "backgroundImageStrechMode" : "fill",
            "name" : "Windows PowerShell",
            "padding" : "0, 0, 0, 0",
            "snapOnInput" : true,
            "startingDirectory" : ".",
            "useAcrylic" : true
        },
        {
            "acrylicOpacity" : 0.75,
            "closeOnExit" : true,
            "colorScheme" : "One Half Dark",
            "commandline" : "cmd.exe",
            "cursorColor" : "#FFFFFF",
            "cursorShape" : "bar",
            "fontFace" : "Consolas",
            "fontSize" : 10,
            "guid" : "{0caa0dad-35be-5f56-a8ff-afceeeaa6101}",
            "historySize" : 9001,
            "icon" : "ms-appx:///ProfileIcons/{0caa0dad-35be-5f56-a8ff-afceeeaa6101}.png",
            "backgroundImage" : "ms-appdata:///local/1503827082075.png",
            "backgroundImageOpacity" : 0.75,
            "backgroundImageStrechMode" : "fill",
            "name" : "Command Prompt",
            "padding" : "0, 0, 0, 0",
            "snapOnInput" : true,
            "startingDirectory" : ".",
            "useAcrylic" : true
        },
        {
            "acrylicOpacity" : 0.75,
            "closeOnExit" : true,
            "colorScheme" : "flat-ui-v1",
            "commandline" : "cmd.exe /c set MSYS=winsymlinks:nativestrict&& set MSYS2_PATH_TYPE=inherit&& msys2 -i -l",
            "cursorColor" : "#FFFFFF",
            "cursorShape" : "bar",
            "fontFace" : "Consolas",
            "fontSize" : 10,
            "historySize" : 9001,
            "icon" : "%SCOOP%\\apps\\msys2\\current\\msys2.ico",
            "backgroundImage" : "ms-appdata:///local/1504637576364.png",
            "backgroundImageOpacity" : 0.75,
            "backgroundImageStrechMode" : "fill",
            "name" : "MSYS2",
            "padding" : "0, 0, 0, 0",
            "snapOnInput" : true,
            "startingDirectory" : ".",
            "useAcrylic" : true
        },
        {
            "acrylicOpacity" : 0.75,
            "closeOnExit" : true,
            "colorScheme" : "flat-ui-v1",
            "commandline" : "cmd.exe /c set MSYS=winsymlinks:nativestrict&& set MSYS2_PATH_TYPE=inherit&& mingw64 -i -l",
            "cursorColor" : "#FFFFFF",
            "cursorShape" : "bar",
            "fontFace" : "Consolas",
            "fontSize" : 10,
            "historySize" : 9001,
            "icon" : "%SCOOP%\\apps\\msys2\\current\\mingw64.ico",
            "backgroundImage" : "ms-appdata:///local/704387.png",
            "backgroundImageOpacity" : 0.75,
            "backgroundImageStrechMode" : "fill",
            "name" : "MinGW64",
            "padding" : "0, 0, 0, 0",
            "snapOnInput" : true,
            "startingDirectory" : ".",
            "useAcrylic" : true
        },
        {         
            "guid": "{a5a97cb8-8961-5535-816d-772efe0c6a3f}",
            "acrylicOpacity" : 0.75,
            "background" : "#012456",
            "closeOnExit" : true,
            "colorScheme" : "flat-ui-v1",
            "cursorColor" : "#FFFFFF",
            "cursorShape" : "bar",
            "fontFace" : "Consolas",
            "fontSize" : 10,
            "hidden": false,
            "name": "Arch",
            "icon" : "%SCOOP%\\apps\\archwsl\\current\\arch.ico",
            "backgroundImage" : "ms-appdata:///local/1507634976184.jpg",
            "backgroundImageOpacity" : 0.75,
            "backgroundImageStrechMode" : "fill",
            "source": "Windows.Terminal.Wsl",
            "padding" : "0, 0, 0, 0",
            "snapOnInput" : true,
            "startingDirectory" : ".",
            "useAcrylic" : true
        },
        {        
            "acrylicOpacity" : 0.75,
            "closeOnExit" : true,
            "colorScheme" : "flat-ui-v1",
            "commandline" : "\"%SCOOP%\\apps\\git-with-openssh\\current\\bin\\bash.exe\" -i -l",
            "cursorColor" : "#FFFFFF",
            "cursorShape" : "bar",
            "fontFace" : "Consolas",
            "fontSize" : 10,
            "historySize" : 9001,
            "icon" : "%SCOOP%\\apps\\git-with-openssh\\current\\mingw64\\share\\git\\git-for-windows.ico",
            "backgroundImage" : "ms-appdata:///local/1496315646560.png",
            "backgroundImageOpacity" : 0.75,
            "backgroundImageStrechMode" : "fill",
            "name" : "Git Bash",
            "padding" : "0, 0, 0, 0",
            "snapOnInput" : true,
            "startingDirectory" : ".",
            "useAcrylic" : true
        }
    ],
    "schemes" : 
    [
        {
            "background":"#000000",
            "black":"#000000",
            "blue":"#2980b9",
            "brightBlack":"#7f8c8d",
            "brightBlue":"#3498db",
            "brightCyan":"#1abc9c",
            "brightGreen":"#2ecc71",
            "brightPurple":"#9b59b6",
            "brightRed":"#e74c3c",
            "brightWhite":"#ecf0f1",
            "brightYellow":"#f1c40f",
            "cyan":"#16a085",
            "foreground":"#ecf0f1",
            "green":"#27ae60",
            "name":"flat-ui-v1",
            "purple":"#8e44ad",
            "red":"#c0392b",
            "white":"#ecf0f1",
            "yellow":"#f39c12"
        },
        {
            "background" : "#0C0C0C",
            "black" : "#0C0C0C",
            "blue" : "#0037DA",
            "brightBlack" : "#767676",
            "brightBlue" : "#3B78FF",
            "brightCyan" : "#61D6D6",
            "brightGreen" : "#16C60C",
            "brightPurple" : "#B4009E",
            "brightRed" : "#E74856",
            "brightWhite" : "#F2F2F2",
            "brightYellow" : "#F9F1A5",
            "cyan" : "#3A96DD",
            "foreground" : "#CCCCCC",
            "green" : "#13A10E",
            "name" : "Campbell",
            "purple" : "#881798",
            "red" : "#C50F1F",
            "white" : "#CCCCCC",
            "yellow" : "#C19C00"
        },
        {
            "background" : "#000000",
            "black" : "#000000",
            "blue" : "#000080",
            "brightBlack" : "#808080",
            "brightBlue" : "#0000FF",
            "brightCyan" : "#00FFFF",
            "brightGreen" : "#00FF00",
            "brightPurple" : "#FF00FF",
            "brightRed" : "#FF0000",
            "brightWhite" : "#FFFFFF",
            "brightYellow" : "#FFFF00",
            "cyan" : "#008080",
            "foreground" : "#C0C0C0",
            "green" : "#008000",
            "name" : "Vintage",
            "purple" : "#800080",
            "red" : "#800000",
            "white" : "#C0C0C0",
            "yellow" : "#808000"
        },
        {
            "background" : "#282C34",
            "black" : "#282C34",
            "blue" : "#61AFEF",
            "Grey" : "#FFFFFF",
            "darkGrey" : "#FFFFFF",
            "brightBlack" : "#5A6374",
            "brightBlue" : "#61AFEF",
            "brightCyan" : "#56B6C2",
            "brightGreen" : "#98C379",
            "brightPurple" : "#C678DD",
            "brightRed" : "#E06C75",
            "brightWhite" : "#DCDFE4",
            "brightYellow" : "#E5C07B",
            "cyan" : "#56B6C2",
            "foreground" : "#DCDFE4",
            "green" : "#98C379",
            "name" : "One Half Dark",
            "purple" : "#C678DD",
            "red" : "#E06C75",
            "white" : "#DCDFE4",
            "yellow" : "#E5C07B"
        },
        {
            "background" : "#FAFAFA",
            "black" : "#383A42",
            "blue" : "#0184BC",
            "brightBlack" : "#4F525D",
            "brightBlue" : "#61AFEF",
            "brightCyan" : "#56B5C1",
            "brightGreen" : "#98C379",
            "brightPurple" : "#C577DD",
            "brightRed" : "#DF6C75",
            "brightWhite" : "#FFFFFF",
            "brightYellow" : "#E4C07A",
            "cyan" : "#0997B3",
            "foreground" : "#383A42",
            "green" : "#50A14F",
            "name" : "One Half Light",
            "purple" : "#A626A4",
            "red" : "#E45649",
            "white" : "#FAFAFA",
            "yellow" : "#C18301"
        },
        {
            "background" : "#002B36",
            "black" : "#073642",
            "blue" : "#268BD2",
            "brightBlack" : "#002B36",
            "brightBlue" : "#839496",
            "brightCyan" : "#93A1A1",
            "brightGreen" : "#586E75",
            "brightPurple" : "#6C71C4",
            "brightRed" : "#CB4B16",
            "brightWhite" : "#FDF6E3",
            "brightYellow" : "#657B83",
            "cyan" : "#2AA198",
            "foreground" : "#839496",
            "green" : "#859900",
            "name" : "Solarized Dark",
            "purple" : "#D33682",
            "red" : "#DC322F",
            "white" : "#EEE8D5",
            "yellow" : "#B58900"
        },
        {
            "background" : "#FDF6E3",
            "black" : "#073642",
            "blue" : "#268BD2",
            "brightBlack" : "#002B36",
            "brightBlue" : "#839496",
            "brightCyan" : "#93A1A1",
            "brightGreen" : "#586E75",
            "brightPurple" : "#6C71C4",
            "brightRed" : "#CB4B16",
            "brightWhite" : "#FDF6E3",
            "brightYellow" : "#657B83",
            "cyan" : "#2AA198",
            "foreground" : "#657B83",
            "green" : "#859900",
            "name" : "Solarized Light",
            "purple" : "#D33682",
            "red" : "#DC322F",
            "white" : "#EEE8D5",
            "yellow" : "#B58900"
        }
    ]
}

@ Restia666Ashdoll Obrigado! funcionou, mas sempre que aparece um pop-up:

Capture

@foremtehan Como você não usa msys2, mingw64, arch e git bash, você não precisa deles. Agora, tente isso nos perfis do Ubuntu.

        {         
            "guid": "{c6eaf9f4-32a7-5fdc-b5cf-066e8a4b1e40}",
            "acrylicOpacity" : 0.75,
            "background" : "#012456",
            "closeOnExit" : true,
            "colorScheme" : "flat-ui-v1",
            "cursorColor" : "#FFFFFF",
            "cursorShape" : "bar",
            "fontFace" : "Consolas",
            "fontSize" : 10,
            "hidden": false,
            "name": "Ubuntu",
            "source": "Windows.Terminal.Wsl",
            "padding" : "0, 0, 0, 0",
            "snapOnInput" : true,
            "startingDirectory" : ".",
            "useAcrylic" : true
        }

Certifique-se de que não haja vírgulas na seção final do perfil

Automatizei todo o processo em um arquivo bat que você precisa para executar como administrador.
Adicione o Terminal do Windows ao menu de contexto.zip
Você ainda precisa modificar o diretório inicial em profiles.json para "startingDiretory" : ".",

Aviso: Ocorreu um erro de digitação, deve usar "startingDirectory" : "." invés.

Isso funciona muito bem se você abrir aqui ...
O único problema que percebi é que se você abrir o terminal normalmente ... o diretório padrão é system32 ... há alguma maneira de substituir e fazer com que ele use a pasta do usuário quando aberto normalmente por acaso?

Ei! Eu também tive esse problema. Uma solução rápida e suja é adicionar um comando cd ao seu arquivo .bashrc dentro do terminal WSL.
echo 'cd ~' >> ~ / .bashrc

Isso anula todo o propósito deste tópico, já que ele estará sempre no diretório '~', independentemente de onde você abrir o terminal. Basta digitar 'cd ~' após abrir o terminal em wsl / msys2 / mingw64 / git bash.

Automatizei todo o processo em um arquivo bat que você precisa para executar como administrador.
Adicione o Terminal do Windows ao menu de contexto.zip
Você ainda precisa modificar o diretório inicial em profiles.json para "startingDiretory" : ".",

Aviso: Ocorreu um erro de digitação, deve usar "startingDirectory" : "." invés.

Isso funciona muito bem se você abrir aqui ...
O único problema que percebi é que se você abrir o terminal normalmente ... o diretório padrão é system32 ... há alguma maneira de substituir e fazer com que ele use a pasta do usuário quando aberto normalmente por acaso?

Ei! Eu também tive esse problema. Uma solução rápida e suja é adicionar um comando cd ao seu arquivo .bashrc dentro do terminal WSL.
echo 'cd ~' >> ~ / .bashrc

Isso anula todo o propósito deste tópico, já que ele estará sempre no diretório '~', independentemente de onde você abrir o terminal. Basta digitar 'cd ~' após abrir o terminal em wsl / msys2 / mingw64 / git bash.

Isso também definirá o diretório de inicialização para "~" quando você clicar em "Abrir o Terminal do Windows aqui". Você pode simplesmente adicionar uma condição if.
if [ "$PWD" = "/mnt/c/Windows/System32" ]; then cd ~ fi

@ Restia666Ashdoll e @musm ,

image

Como você adicionou a opção "Abrir com código"?

@ Restia666Ashdoll e @musm ,
image

Como você adicionou a opção "Abrir com código"?

quando você instala o código, ele pergunta se você deseja adicionar um shell aberto com a opção de código

Para quem instalou o terminal da loja windows, o comando é:

explorer.exe shell:appsFolder\Microsoft.WindowsTerminal_8wekyb3d8bbwe!App

O Terminal do Windows também adiciona wt.exe ao caminho, o que torna redundante o snippet sujeito a erros acima.

Aplaudo o trabalho de todos aqui, mas só quero fornecer uma solução mais simples que seja boa o suficiente para mim e talvez para muitos de vocês também:

PREPARAÇÃO IMPORTANTE: No arquivo de configurações do Terminal do Windows, certifique-se de que o perfil do shell padrão contém "startingDirectory": ".", que significa "iniciar no diretório de trabalho atual". (Se você pular esta etapa, o Terminal do Windows irá ignorar o diretório de trabalho e sempre iniciará em seu diretório inicial.)

Agora, para as instruções:

  1. Navegue até alguma pasta divertida no Explorer!
  2. Pressione Ctrl-L, digite wt e pressione Enter. É isso aí! Feito! O Terminal do Windows abre na pasta que você está procurando.

O texto em negrito acima é a instrução real. Ele Ele. É isso aí!

Não preciso de um item de menu do botão direito. É muito raro eu precisar abrir o terminal no diretório atual, e estou bem apenas com Ctrl-L, wt , Enter. É super rápido e ez.

@VideoPlayerCode Essa é uma ótima solução! Muito obrigado!

@VideoPlayerCode Obrigado pela ótima dica! isso não resolve o caso "executar como administrador", no entanto.

Se alguém obtiver o seguinte erro, após usar a solução de @yanglr
explorer_error

Você pode usar todo o caminho, em vez de% LOCALAPPDATA%:

Então, em vez de
[HKEY_CLASSES_ROOT \ Directory \ Background \ shellwtcommand]
@ = "% LOCALAPPDATA% \ Microsoft \ WindowsApps \ wt.exe"

Use (com seu nome de usuário no lugar de 'thull'):
[HKEY_CLASSES_ROOT \ Directory \ Background \ shellwtcommand]
@ = "" C: \ Usuários \ thullAppData \ Local \ Microsoft \ WindowsAppswt.exe ""

@ ad1tyawagh Feliz por ter ajudado você! :-)

@lllopo Adoraria ajudar, mas parece que "Executar como administrador" não é possível em aplicativos da Windows Store (instalei o Windows Terminal via Chocolatey direto do instalador, mas ainda é um aplicativo da Windows Store).

Esta é minha configuração atual:

  • PowerShell é meu shell padrão.
  • Minha configuração do PowerShell contém estas linhas extras:
function EditProfile { notepad "$profile" }
function GoAdmin { start-process pwsh –verb runAs }

Quando você digita GoAdmin, uma caixa de diálogo de direitos de administrador é exibida e o PowerShell é iniciado como administrador em uma janela shell separada (não hospedada pelo Terminal do Windows), na pasta exata para a qual você foi navegado. Isso é conveniente e é suficiente para mim, porque eu só uso isso para pacotes de instalação / atualização chocolatey. Realmente não precisava de direitos de administrador para mais nada.

Mas para você, eu queria tentar melhorá-lo para poder iniciar o próprio Windows Terminal com direitos de administrador. No entanto, ele falha:

# Works but not admin rights:
function GoAdmin { start-process "$env:LOCALAPPDATA\Microsoft\WindowsApps\wt.exe" }

function GoAdmin { start-process explorer.exe shell:appsFolder\Microsoft.WindowsTerminal_8wekyb3d8bbwe!App }

# Fails with "This command cannot be run due to the error: The file cannot be accessed by the system.":
function GoAdmin { start-process "$env:LOCALAPPDATA\Microsoft\WindowsApps\wt.exe" -verb runAs }

# Successfully launches explorer.exe as admin, which in turn launches Windows Terminal as non-admin, meh:
function GoAdmin { start-process explorer.exe shell:appsFolder\Microsoft.WindowsTerminal_8wekyb3d8bbwe!App -verb runAs }

Portanto, a menos que haja uma maneira de corrigir o erro "O arquivo não pode ser acessado pelo sistema", não há como iniciar o Windows Terminal como administrador por meio de scripts do PowerShell. Talvez alguém descubra uma maneira. (Editar: parece que a explicação para a falha ao iniciar wt como administrador é que o Windows Terminal está instalado como um usuário não administrador e, portanto, não pode ser encontrado pelo usuário administrador. Pelo menos é assim que eu entendo esta mensagem . )

Se não, espero que pelo menos goste do comando GoAdmin que forneci aqui, que inicia com êxito uma janela separada do PowerShell como administrador. É o suficiente para mim administrar pacotes de chocolate, então não me importo muito que não seja uma janela de Terminal do Windows ... (Também é muito útil que não use o Terminal do Windows, porque isso significa "direitos de administrador" o shell é visualmente diferente, o que é um bom lembrete para não usá-lo para o trabalho regular, uma vez que os direitos de administrador são perigosos e se propagam para todos os programas que você inicia por meio do shell, portanto, não deve ser usado descuidadamente.)

PS: Substitua pwsh por powershell se estiver usando o "Windows PowerShell" desatualizado e integrado. Em vez disso, uso o PowerShell Core 6 em https://github.com/PowerShell/PowerShell (instalado por meio de choco install powershell-core ).

Outra dica: fixei o próprio Terminal do Windows na posição mais à esquerda da minha barra de tarefas. Dessa forma, posso pressionar Win + 1 para iniciá-lo instantaneamente (ou colocá-lo em foco se já estiver iniciado). Muito conveniente. Isso também significa que se eu realmente quiser que o próprio Terminal do Windows seja executado como administrador, posso apenas clicar com o botão direito no ícone da barra de tarefas, clicar com o botão direito em "Terminal do Windows" no menu que aparece e, finalmente, "Executar como administrador".

Dica final: depois de definir o seu diretório inicial como ".", O Terminal do Windows sempre abrirá na pasta system32 se você iniciá-lo a partir de um atalho (como na barra de tarefas fixada ou via menu iniciar; mas _não_ via Win + R ou via explorer ( os últimos métodos funcionam corretamente)). Mas há uma maneira rápida de acessar sua pasta pessoal: basta digitar cd e pressionar Enter para ir sempre diretamente para a página inicial.

Outra maneira é instalar o comando sudo do Scoop
scoop install sudo
http://blog.lukesampson.com/sudo-for-windows
Além de permitir que você execute comandos em privilégios elevados, você também pode iniciar uma sessão PowerShell / Prompt de comando elevada com o comando sudo powershell ou sudo cmd .

@ Restia666Ashdoll Conforme mencionado na minha resposta, não há necessidade de comandos "sudo" de terceiros. O PowerShell tem um "sudo" integrado: https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.management/start-process?view=powershell-6#examples

Exemplo 5: inicie o PowerShell como administrador

Este exemplo inicia o PowerShell usando a opção "Executar como administrador".

Start-Process -FilePath "powershell" -Verb RunAs

Eu envolvi isso como GoAdmin no meu exemplo. Mas alguém também poderia envolvê-lo como uma função chamada "sudo" e fazê-lo receber qualquer comando.

Por exemplo, como inspiração, eu queria que o comando touch criasse arquivos vazios de 0 bytes facilmente e queria que ele recebesse vários argumentos para vários arquivos de uma vez. Então, escrevi esta função do PowerShell e coloquei na minha configuração para que esteja sempre disponível:

function touch() { for ($i=0; $i -le $args.length; $i++) { $name = $args[$i]; if ($name -ne $null -and $name.GetType().Name -eq "String") { $name = $name.Trim(); if ($name.length -gt 0) { New-Item -ItemType file "$name" } } } }

Algo muito semelhante poderia ser feito se você quisesse fazer um comando sudo genérico.

Ou apenas use GoAdmin como mostrado acima ...

@VideoPlayerCode Esse comando só pode ser usado para alguns comandos do PowerShell. Você não pode fazer algo como sudo pip install httpie ou sudo Install-Module oh-my-posh -Force . Caramba, você pode até usar Chocolatey de PowerShell regular como sudo choco install mpv (embora eu pessoalmente não goste de Chocolatey). Claro, o sudo para windows também tem limitações.

@ Restia666Ashdoll Obrigado, você me

function sudo() {
    [string[]]$cmd = @("-command")
    for ($i=0; $i -le $args.length; $i++) {
        $val = $args[$i]
        if ($val -ne $null) {
            $cmd += [string]$val;
        }
    }
    if ($cmd.length -ge 2) {
        $cmd += "; pause"
        #Write-Host $cmd
        Start-Process pwsh -ArgumentList $cmd –Verb RunAs
    }
}

_ (Se alguém estiver usando o powershell normal e desatualizado que vem junto com o Windows, substitua o pwsh por powershell acima.) _

A execução de sudo choco install sysinternals em uma sessão não administrativa agora executará esse comando em uma sessão administrativa.

Observe que o Start-Process do PowerShell não oferece suporte à geração de subshells de administração que geram saída diretamente dentro de shells "host" não administrativos, portanto, ele é executado em uma janela pop-up e pausa para que você possa ler o resultado antes de fechar a janela. Bom o suficiente para mim.

Eu dei uma olhada em https://github.com/lukesampson/psutils/blob/master/sudo.ps1 (o script que você propôs), mas senti que é um pouco nojento chamar funções do kernel para anexar a saída de um administrador subprocesso no terminal em execução, e se preocupar com " vazamento" de privilégios inseguros para o processo host ou todos os exploits que se tornam possíveis quando a entrada / saída de um processo administrativo é propriedade de um processo não administrativo (eca). Havia também outro chamado wsudo em https://github.com/noseratio/choco/tree/master/wsudo , mas não o examinei profundamente. Em vez disso, apenas escrevi minha própria versão.

Obrigado pelo empurrão, novamente. É bom ter um comando para executar rapidamente uma única ação como administrador. Meu comando GoAdmin postado anteriormente ainda é muito útil para iniciar um console de administração separado que suporta digitar várias ações como de costume. Mas executar comandos únicos agora é um pouco mais fácil com este novo comando!

PS: Se alguém se perguntar onde colocar esta ou todas as minhas outras funções, basta digitar Write-Host $Profile (write-host é "echo" no PowerShell) para ver o caminho do perfil e criar esse arquivo se estiver faltando e, em seguida coloque as funções lá e reinicie o PowerShell.

(Essas funções do "kernel" são, na verdade, as APIs de console oficialmente suportadas por esta equipe, elas apenas vivem em uma biblioteca chamada kernel32 (por motivos legados.))

@ DHowett-MSFT Ahh. O código sudo.ps1 de Luke Sampson diz DllImport("kernel32.dll") , mas você está dizendo que não há problema em usar essas funções para redirecionar a saída do shell de administração para o shell atual?

Para ser franco, ele deve se comportar como sudo em sistemas Unix. Quase, todo mundo que usa Scoop, usa isso. É o que eu quero - execute um comando com privilégios elevados dentro do shell atual. E é o que todos desejam, se a Microsoft fizer um 'sudo para windows' adequado.

Obrigado pela ótima discussão sobre este tópico! Você se importaria de desviar a discussão sobre coisas que não são a opção do menu de contexto em outro lugar? Para sudo , temos # 1032

Sim, algumas pessoas pediram uma maneira de "sudo" e as coisas descarrilaram um pouco. ;-)

@ DHowett-MSFT Desculpe, por sair do assunto. Só surgiu devido à perspectiva de iniciar o terminal como administrador. Eu irei parar.

Ei, sem problemas! Acontece com todo mundo. :sorriso:

Aqui está minha solução
Ele funciona da mesma forma que o PowerShell 7 e também pode ser executado com direitos de administrador
https://github.com/nt4f04uNd/wt-contextmenu
Lá você pode encontrar um guia de como implementá-lo e todos os arquivos necessários

@ nt4f04uNd Você também pode adicionar scoop install nicrmd ao seu guia?
https://github.com/ScoopInstaller/Main/blob/master/bucket/nircmd.json

@ Restia666Ashdoll done

Não vejo a necessidade de abrir o prompt de cmd aqui para substituição.

Na barra de endereço, clique nele, digite wt.exe e pressione Enter. Terminal do Windows com a janela de exploração atual como CWD.

@ em00k Diferentes pessoas têm seus próprios fluxos de trabalho, e tudo bem: sorria:

Isso é trabalho para mim https://github.com/microsoft/terminal/issues/1060#issuecomment -497539461 e para resolver o diretório inicial para minha pasta de usuário, eu crio um atalho com o objetivo de meu '% USERPROFILE%' e o coloco em meu menu iniciar e barra de tarefas.

Mas será muito útil se pudermos usar um parâmetro de pasta para abrir o diretório no aplicativo wt.exe.

image

Aqui está o que funcionou para mim no 0.7.3451.0 (algumas mudanças são necessárias no comentário original de @yanglr )

1) Baixe o ícone oficial do Terminal do Windows e coloque-o em algum lugar
https://raw.githubusercontent.com/microsoft/terminal/master/res/terminal.ico

2) Edite a configuração do Terminal Windows. Defina o perfil que deseja abrir no diretório atual com o padrão.
Adicionar
"startingDirectory": "."
a esse perfil, de modo que o diretório atual seja o diretório inicial

3) Crie e execute um arquivo wt.reg, com o seguinte, substituindo itens entre chaves por caminhos reais (lembrando de barras duplas).

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\Background\shell\wt]
@="Windows Terminal Here"
"Icon"="{full_path_to_icon}\\terminal.ico"

[HKEY_CLASSES_ROOT\Directory\Background\shell\wt\command]
@="C:\\Users\\{windows_user_directory}\\AppData\\Local\\Microsoft\\WindowsApps\\wt.exe"

(Substitua HKEY_CLASSES_ROOT por HKEY_CURRENT_USER se quiser apenas alterar o usuário atual)

4) Teste. Ele deve abrir o diretório em que você está quando clicar com o botão direito.
Eu apenas testei isso com cmd.exe como meu perfil padrão. Não sei se funciona para outros tipos de perfil.

Capture

Abre um Terminal Windows iniciando na pasta em que cliquei com o botão direito

Capture

Altere-o pelo menos para HKCU para que você só altere sua própria conta de usuário

@VideoPlayerCode obrigado, muito homem resolveu meu problema com o terminal do Windows

@yangshuairocks Meu pisca não uma, mas duas vezes ao fazer isso e, em seguida, solicita o administrador.

Eu gostaria de “Abrir como uma nova guia no Terminal do Windows”.
Não quero confundir minha área de trabalho com muitas janelas do Terminal.

PS
"startingDirectory": "." faz $PWD do terminal aberto a partir do menu iniciar ou da barra de tarefas C:\Windows\System32 .

Solução simples de todos os comentários fornecidos aqui: https://github.com/plexcellmedia/open-microsoft-terminal-in-current-directory

Na verdade, você não precisa escrever um caminho completo. O terminal está presente na variável PATH. Portanto, basta chamar o comando wt qualquer lugar.
Ou você pode chamar o próprio aplicativo UWP shell:AppsFolder\Microsoft.WindowsTerminal_8wekyb3d8bbwe!App

Desde o lançamento da v0.9.433.0 você agora pode passar parâmetros de linha de comando, portanto, o seguinte funciona com suporte para vários perfis.

wt.reg :

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\shell\wt (Command)]
@="Open Terminal (Command)"
[HKEY_CLASSES_ROOT\Directory\shell\wt (Command)\command]
@="C:\\Users\\Sean\\AppData\\Local\\Microsoft\\WindowsApps\\wt.exe new-tab -d \"%1\" -p Command"

[HKEY_CLASSES_ROOT\Directory\shell\wt (PowerShell)]
@="Open Terminal (PowerShell)"
[HKEY_CLASSES_ROOT\Directory\shell\wt (PowerShell)\command]
@="C:\\Users\\Sean\\AppData\\Local\\Microsoft\\WindowsApps\\wt.exe new-tab -d \"%1\" -p PowerShell"

[HKEY_CLASSES_ROOT\Directory\shell\wt (Git Bash)]
@="Open Terminal (Git Bash)"
[HKEY_CLASSES_ROOT\Directory\shell\wt (Git Bash)\command]
@="C:\\Users\\Sean\\AppData\\Local\\Microsoft\\WindowsApps\\wt.exe new-tab -d \"%1\" -p \"Git Bash\""

[HKEY_CLASSES_ROOT\Directory\shell\wt (Ubuntu Bash)]
@="Open Terminal (Ubuntu Bash)"
[HKEY_CLASSES_ROOT\Directory\shell\wt (Ubuntu Bash)\command]
@="C:\\Users\\Sean\\AppData\\Local\\Microsoft\\WindowsApps\\wt.exe new-tab -d \"%1\" -p \"Ubuntu Bash\""

[HKEY_CLASSES_ROOT\Directory\shell\wt (Ubuntu Zsh)]
@="Open Terminal (Ubuntu Zsh)"
[HKEY_CLASSES_ROOT\Directory\shell\wt (Ubuntu Zsh)\command]
@="C:\\Users\\Sean\\AppData\\Local\\Microsoft\\WindowsApps\\wt.exe new-tab -d \"%1\" -p \"Ubuntu Zsh\""

profiles.json :

{
    "$schema": "https://aka.ms/terminal-profiles-schema",
    "defaultProfile": "{e5beb15e-da5c-4df7-815c-b0b0a865ef3f}",
    "initialRows": 50,
    "tabWidthMode": "titleLength",

    "profiles": {
        "defaults": {
            "cursorShape": "filledBox",
            "experimental.retroTerminalEffect": false,
            "fontFace": "Fira Code",
            "fontSize": 10,
            "padding": "2, 2, 2, 2",
            "suppressApplicationTitle": true
        },
        "list": [
            {
                "backgroundImage": "ms-appdata:///local/ubuntu.png",
                "backgroundImageAlignment": "bottomRight",
                "backgroundImageOpacity": 0.25,
                "backgroundImageStretchMode": "none",
                "commandline": "wsl.exe -d Ubuntu-18.04 --exec zsh --login",
                "colorScheme": "Solarized Dark",
                "guid": "{e5beb15e-da5c-4df7-815c-b0b0a865ef3f}",
                "icon": "ms-appdata:///local/ubuntu.png",
                "name": "Ubuntu Zsh",
                "startingDirectory": "//wsl$/Ubuntu-18.04/home/sean",
                "tabTitle": "Zsh"
            },
            {
                "backgroundImage": "ms-appdata:///local/ubuntu.png",
                "backgroundImageAlignment": "bottomRight",
                "backgroundImageOpacity": 0.25,
                "backgroundImageStretchMode": "none",
                "commandline": "wsl.exe -d Ubuntu-18.04 --exec bash --login",
                "colorScheme": "Solarized Dark",
                "guid": "{c6eaf9f4-32a7-5fdc-b5cf-066e8a4b1e40}",
                "icon": "ms-appdata:///local/ubuntu.png",
                "name": "Ubuntu Bash",
                "source": "Windows.Terminal.Wsl",
                "startingDirectory": "//wsl$/Ubuntu-18.04/home/sean",
                "tabTitle": "Bash"
            },
            {
                "backgroundImage": "ms-appdata:///local/git-for-windows.png",
                "backgroundImageAlignment": "bottomRight",
                "backgroundImageOpacity": 0.25,
                "backgroundImageStretchMode": "none",
                "commandline": "C:\\Program Files\\Git\\bin\\bash.exe --login",
                "colorScheme": "Solarized Dark",
                "guid": "{78ccd05e-83d4-46c6-9a80-8865ff8ff720}",
                "icon" : "C:\\Program Files\\Git\\mingw64\\share\\git\\git-for-windows.ico",
                "name": "Git Bash",
                "startingDirectory": "%USERPROFILE%",
                "tabTitle": "Bash"
            },
            {
                "backgroundImage": "ms-appdata:///local/powershell.png",
                "backgroundImageAlignment": "bottomRight",
                "backgroundImageOpacity": 0.25,
                "backgroundImageStretchMode": "none",
                "commandline": "powershell.exe",
                "guid": "{61c54bbd-c2c6-5271-96e7-009a87ff44bf}",
                "name": "PowerShell",
                "tabTitle": "PS"
            },
            {
                "commandline": "cmd.exe",
                "guid": "{0caa0dad-35be-5f56-a8ff-afceeeaa6101}",
                "name": "Command",
                "tabTitle": "Cmd"
            },
            {
                "acrylicOpacity": 0.9,
                "guid": "{b453ae62-4e3d-5e58-b989-0a998ec441b8}",
                "name": "Azure Shell",
                "source": "Windows.Terminal.Azure",
                "tabTitle": "Bash",
                "useAcrylic": true
            },
            {
                "guid": "{574e775e-4f2a-5b96-ac1e-a2962a402336}",
                "hidden": false,
                "name": "PowerShell Core",
                "source": "Windows.Terminal.PowershellCore"
            }
        ]
    },

    "schemes": [],

    "keybindings": []
}

@DHowett só resta um problema ... ele não reutiliza uma instância wt existente e abre uma nova guia.

@gitfool e aquele é rastreado por # 4472: smile:

Você pode torná-lo _sumicamente_ mais robusto usando %1\. vez de apenas %1 - agora, se você abri-lo na raiz de uma unidade, não fará o que você espera . Isso é # 4571

Não sei por que, mas @gitfool reg não fez isso por mim. Se eu passar %V , funciona, por exemplo

C:\Users\islevin\AppData\Local\Microsoft\WindowsApps\wt -p "cmd" -d "%V"

Bom trabalho pessoal, isso é quase perfeito para mim :)

As entradas do menu de contexto são ótimas, elas abrem a pasta esperada, ótimo. No entanto, eu inicio o Windows Terminal diretamente (no menu iniciar, por exemplo), o diretório inicial é minha pasta inicial do Windows.

Existe alguma maneira de tornar isso padrão em minha pasta inicial do WSL, sem quebrar a entrada do menu de contexto?

@rfgamaral veja meu profile.json acima. Dado um startingDirectory padrão no perfil, o menu de contexto do explorer irá sobrescrevê-lo, caso contrário, ele assumirá o padrão conforme especificado. Você só precisa substituir minha distribuição Linux e nome de usuário pelo seu.

@gitfool Isso é o que eu tenho, mas não está funcionando para mim:

{
  "guid": "{58ad8b0c-3ef8-5f4d-bc6f-13e4c00f2530}",
  "name": "Debian (WSL)",
  "commandline": "wsl.exe -d Debian --exec zsh --login",
  "startingDirectory": "//wsl$/Debian/home/ricardo",
  "acrylicOpacity": 1.0,
  "colorScheme": "Flat UI (tweaked)",
  "fontSize": 10,
  "hidden": false,
  "padding": "3, 2",
  "useAcrylic": true
}

@rfgamaral Não consigo ver nada de errado com sua configuração. Seu diretório inicial WSL existe ou você está usando um perfil diferente ao iniciar o Terminal diretamente?

Sim:

image

Não, eu só tenho este perfil WSL.

@rfgamaral o sistema de arquivos do Linux startingDirectory deve ser //wsl$/Debian/home/Ricardo .

@rfgamaral o sistema de arquivos do Linux startingDirectory deve ser //wsl$/Debian/home/Ricardo .

Incrível, isso consertou! Muito obrigado :)

Talvez isso esteja fora do escopo deste problema, ou talvez não, vou perguntar mesmo assim ... Assumindo a configuração acima descrita por @gitfool , eu tenho esta pasta do Windows C:\Users\Ricardo\Workspace e então tenho um link simbólico dentro do WSL como ~/ Workspace -> /c/Users/AmaralR/Workspace/ .

Quão legal seria se clicar com o botão direito Workspace pasta ~/Workspace vez de /c/Users/AmaralR/Workspace/ ? Vocês acham que isso é remotamente possível de conseguir?

Existe um problema para mim. O comando de clique de Rick só aparece quando clico com o botão direito nas pastas. No entanto, quando clico com o botão direito em um espaço vazio dentro de uma pasta, a entrada do terminal não aparece (veja gif), embora o VS Code e minha distribuição WSL padrão (Pengwin) apareçam. Eu defino Terminal, VS Code e Pengwin para o modo Extended Shell (segurando Shift).

GIF

Minha configuração atual:
`` `Editor de registro do Windows versão 5.00

[HKEY_CLASSES_ROOT \ Directory \ shellwt]
@ = "Abra o Terminal aqui
"Estendido" = ""
"Ícone" = "D: \ OneDrive \ _Apps \ .config \ .icons \ terminal.ico"

[HKEY_CLASSES_ROOT \ Directory \ shellwtcommand]
@ = "C: \ Users \ steve \ AppData \ Local \ Microsoft \ WindowsApps \ wt.exe new-tab -d"% 1 "-p" Pengwin "" `` `

@Kalaschnik Você também precisará de uma entrada em HKCR \ Directory \ Background \ Shell \ WindowsTerminalHere

Consulte https://github.com/shanselman/WindowsTerminalHere/pull/3/files

Quando tento iniciar uma guia cmd no terminal, recebo

[erro 0x8007010b ao iniciar `cmd.exe ']

Existe um problema para mim. O comando de clique de Rick só aparece quando clico com o botão direito nas pastas.

Não tenho certeza de qual é o problema que causa isso, mas você pode verificar este repositório para torná-lo mais parecido com o PowerShell

Gif demo

Olá a todos,
Implemento um script simples para adicionar menu de contexto.
Funciona para mim com o Windows Terminal versão 0.9.433.0

Obrigado @ nt4f04uNd e outros todos me inspirando

Repo: menu de contexto do terminal do Windows

Olá a todos,
Implemento um script simples para adicionar menu de contexto.
Funciona para mim com o Windows Terminal versão 0.9.433.0

Obrigado @ nt4f04uNd e outros todos me inspirando

Repo: menu de contexto do terminal do Windows

Isso é realmente ótimo !!! no entanto, poucas notas:
https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_execution_policies?view=powershell-7
você precisa Set-ExecutionPolicy como Unrestricted para executá-lo.

Além disso, isso parece quebrado:

Copy-Item : The filename, directory name, or volume label syntax is incorrect.
At D:\Jeff\Documents\Windows-terminal-context-menu\SetupContextMenu.ps1:25 char:1
+ Copy-Item -Path "$PSScriptRoot\icons\*.ico" -Destination $resourcePat ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [Copy-Item], IOException
    + FullyQualifiedErrorId : System.IO.IOException,Microsoft.PowerShell.Commands.CopyItemCommand

this dir needs to be created either prior to or as part of the execution:
$env:LOCALAPPDATA\WindowsTerminalContextIcons\

Além disso, diz:

PS D:\Jeff\Documents\Windows-terminal-context-menu> .\SetupContextMenu.ps1
Add top layer menu (shell) => Registry::HKEY_CLASSES_ROOT\Directory\shell\WindowsTerminal
Add top layer menu (background) => Registry::HKEY_CLASSES_ROOT\Directory\shell\WindowsTerminal
Add new entry Git Bash
Add new entry Command Prompt
Add new entry PowerShell
Add new entry Azure Cloud Shell

mas não o cria corretamente (seus ícones ausentes e meu Git Bash está ausente porque eu não tenho a chave oculta nele):
image

Adicionado nas definições globais:
$gitbashIcoFileName = "git-bash.ico"

e isso depois da linha 101:

        elseif ($commandLine -like "*Git*bash.exe*") {
            $icoPath = $gitbashIcoFileName
        }

Parece que não gosta de carregar os ícones de:
% LOCALAPPDATA% \ WindowsTerminalContextIcons \
... porque parece bom na chave de registro.

Em vez disso, mudei esta linha para:
$resourcePath = "$PSScriptRoot\icons\"

e removido:
Copy-Item -Path "$PSScriptRoot\icons\*.ico" -Destination $resourcePath

O problema é que se a pasta não existir os ícones não serão copiados, bastando adicionar mkdir $resourcePath antes que o item de cópia resolva essa parte. Eu criei um problema no seu repo para isso. Além disso, parece haver problema com a análise do Perfil em alguns cenários. De qualquer forma, obrigado pelo script!

Oi @Nomelas

Obrigado pela sua resposta.
Corrigi o problema da falta do ícone. Basta reinstalá-lo novamente e fazer login novamente.
Não prefiro definir $ resourcePath para o local do script. Porque o usuário pode remover a pasta do instalador por qualquer motivo e o ícone irá falhar novamente.

A segunda coisa, você poderia compartilhar seu perfil do git bash? Porque eu não defini Git-bash no meu WT.
Preciso de um padrão para definir a regra.

Oi @Nomelas

Obrigado pela sua resposta.
Corrigi o problema da falta do ícone. Basta reinstalá-lo novamente e fazer login novamente.
Não prefiro definir $ resourcePath para o local do script. Porque o usuário pode remover a pasta do instalador por qualquer motivo e o ícone irá falhar novamente.

A segunda coisa, você poderia compartilhar seu perfil do git bash? Porque eu não defini Git-bash no meu WT.
Preciso de um padrão para definir a regra.

Corrigi todos os problemas e estou enviando um PR

@Nomelas , infelizmente não funciona para mim. Editei o config.json e executei o script ps. Depois de clicar no ícone (sem pastas de shell), recebo:
This file does not have a program associated with it for performing this action. Please install an app or, if one is already installed, create an association in the Default Apps Settings page.

Esse é o pedaço do registro:
image

Pessoal, sei que estou um pouco atrasado para esta festa, mas que tal usar o OpenHere ? 😉

Execute o PowerShell com permissões e tipo elevados:

Install-Module OpenHere
Set-OpenHereShortcut -ShortcutType:WindowsTerminal

👍 quem gosta disso!

@ nt4f04uNd Talvez você deva ler a documentação primeiro, especialmente as Notas

Eu posso ter perdido, mas as configurações do diretório inicial para "." abre o diretório de instalação do terminal do Windows quando aberto a partir do menu iniciar e abre aqui o menu de contexto abre no diretório em que você está. ao usar "% USERPROFILE%", abre as duas formas apenas no meu diretório de usuário.

existe uma maneira de fazer open here funcionar e ainda ter "% USERPROFILE%" como caminho padrão ao abrir a partir do menu iniciar? abrir aqui não funciona com "% USERPROFILE%".

@eskoONE e outros, sim, é!
Existe uma solução com o uso do argumento -d. Confira https://github.com/nt4f04und/wt-contextmenu

Pessoal, sei que estou um pouco atrasado para esta festa, mas que tal usar o OpenHere ? 😉

Execute o PowerShell com permissões e tipo elevados:

Install-Module OpenHere
Set-OpenHereShortcut -ShortcutType:WindowsTerminal

👍 quem gosta disso!

Funciona!! Obrigado!

É muito, _muito_ mais fácil do que adicionar um único comando a um menu de contexto de pasta. É apenas uma chave de registro simples.

Por exemplo (e então você também pode adicionar um ícone, etc)

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Classes\Directory\Background\shell\Open Thing Here\command]
@="C:\\thing.exe \"%1\""

Como posso adicionar a opção de abrir aquele thing.exe somente quando pressiono a tecla SHIFT - como com a opção de "Janela do PowerShell"

Pessoal, sei que estou um pouco atrasado para esta festa, mas que tal usar o OpenHere ? 😉

Execute o PowerShell com permissões e tipo elevados:

Install-Module OpenHere
Set-OpenHereShortcut -ShortcutType:WindowsTerminal

👍 quem gosta disso!

Como posso removê-lo?

Pessoal, sei que estou um pouco atrasado para esta festa, mas que tal usar o OpenHere ? 😉
Execute o PowerShell com permissões e tipo elevados:

Install-Module OpenHere
Set-OpenHereShortcut -ShortcutType:WindowsTerminal

👍 quem gosta disso!

Como posso removê-lo?

Da documentação :
Remove-OpenHereShortcut -ShortcutType:WindowsTerminal

Olá a todos,
Implemento um script simples para adicionar menu de contexto.
Funciona para mim com o Windows Terminal versão 0.9.433.0
Obrigado @ nt4f04uNd e outros todos me inspirando
Repo: menu de contexto do terminal do Windows

Isso é realmente ótimo !!! no entanto, poucas notas:
https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_execution_policies?view=powershell-7
você precisa Set-ExecutionPolicy como Unrestricted para executá-lo.

Além disso, isso parece quebrado:

Copy-Item : The filename, directory name, or volume label syntax is incorrect.
At D:\Jeff\Documents\Windows-terminal-context-menu\SetupContextMenu.ps1:25 char:1
+ Copy-Item -Path "$PSScriptRoot\icons\*.ico" -Destination $resourcePat ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [Copy-Item], IOException
    + FullyQualifiedErrorId : System.IO.IOException,Microsoft.PowerShell.Commands.CopyItemCommand

this dir needs to be created either prior to or as part of the execution:
$env:LOCALAPPDATA\WindowsTerminalContextIcons\

Além disso, diz:

PS D:\Jeff\Documents\Windows-terminal-context-menu> .\SetupContextMenu.ps1
Add top layer menu (shell) => Registry::HKEY_CLASSES_ROOT\Directory\shell\WindowsTerminal
Add top layer menu (background) => Registry::HKEY_CLASSES_ROOT\Directory\shell\WindowsTerminal
Add new entry Git Bash
Add new entry Command Prompt
Add new entry PowerShell
Add new entry Azure Cloud Shell

mas não o cria corretamente (seus ícones ausentes e meu Git Bash está ausente porque eu não tenho a chave oculta nele):
image

Este script tem alguns bugs porque é feito para uma versão antiga do Windows Terminal, fiz um fork para corrigir esses erros

https://github.com/KiritoDv/Windows-terminal-context-menu

image

Oi @KiritoDv
Você poderia verificar qual é a sua versão do terminal Windows?
Eu uso a versão mais recente v0.9.433.0 e instalo com sucesso.

Obrigado ~

Eu tenho a versão mais recente, mas quando eu atualizo meus arquivos de perfis são os mesmos da versão antiga, desculpe por isso, pelo menos a mudança funciona para alguém com o mesmo erro

Kuddos Kirito por fazer o roteiro, é muito legal. Alguma chance de isso ser suportado pelo WT no futuro?

@RonaldOlsthoorn Certamente há uma _chance_ - daí porque este problema ainda está aberto 😄

Se alguém pudesse descobrir como instalar essas entradas do menu de contexto de um aplicativo empacotado e ser capaz de atualizar as entradas dinamicamente (para refletir a lista de perfis), então certamente estaríamos interessados ​​em revisar um PR 😉 Até então, é apenas em nosso backlog.

Talvez as pessoas que fizeram isso para o Pengwin pudessem fazer isso também para o Terminal (ou pelo menos aconselhar sobre o que fizeram para fazê-lo funcionar).

Olá a todos,
Implemento um script simples para adicionar menu de contexto.
Funciona para mim com o Windows Terminal versão 0.9.433.0
Obrigado @ nt4f04uNd e outros todos me inspirando
Repo: menu de contexto do terminal do Windows

Isso é realmente ótimo !!! no entanto, poucas notas:
https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_execution_policies?view=powershell-7
você precisa Set-ExecutionPolicy como Unrestricted para executá-lo.
Além disso, isso parece quebrado:

Copy-Item : The filename, directory name, or volume label syntax is incorrect.
At D:\Jeff\Documents\Windows-terminal-context-menu\SetupContextMenu.ps1:25 char:1
+ Copy-Item -Path "$PSScriptRoot\icons\*.ico" -Destination $resourcePat ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [Copy-Item], IOException
    + FullyQualifiedErrorId : System.IO.IOException,Microsoft.PowerShell.Commands.CopyItemCommand

this dir needs to be created either prior to or as part of the execution:
$env:LOCALAPPDATA\WindowsTerminalContextIcons\

Além disso, diz:

PS D:\Jeff\Documents\Windows-terminal-context-menu> .\SetupContextMenu.ps1
Add top layer menu (shell) => Registry::HKEY_CLASSES_ROOT\Directory\shell\WindowsTerminal
Add top layer menu (background) => Registry::HKEY_CLASSES_ROOT\Directory\shell\WindowsTerminal
Add new entry Git Bash
Add new entry Command Prompt
Add new entry PowerShell
Add new entry Azure Cloud Shell

mas não o cria corretamente (seus ícones ausentes e meu Git Bash está ausente porque eu não tenho a chave oculta nele):
image

Este script tem alguns bugs porque é feito para uma versão antiga do Windows Terminal, fiz um fork para corrigir esses erros

https://github.com/KiritoDv/Windows-terminal-context-menu

image

Parabéns a você por fazer o script, funciona como um encanto.

Nota de implementação: O manifesto do aplicativo PowerToys mostra como declarar menus de contexto do explorador de arquivos para arquivos e pastas. Não tenho certeza se isso exigiria um registro de servidor COM concomitante embora ...

Observe a sobreposição com # 2189 - parece mais paralelo do que complementar, no entanto.

<Extensions>
        ...
        <com:Extension Category="windows.comServer">
          <com:ComServer>
            <com:ExeServer Executable="modules\PowerRenameUWPUI.exe" DisplayName="PowerRenameUWPUI">
              <com:Class Id="0440049F-D1DC-4E46-B27B-98393D79486B"/>
            </com:ExeServer>
          </com:ComServer>
        </com:Extension>
        <desktop4:Extension Category="windows.fileExplorerContextMenus">
          <desktop4:FileExplorerContextMenus>
            <desktop4:ItemType Type="*">
              <desktop4:Verb Id="FilePowerRename" Clsid="0440049F-D1DC-4E46-B27B-98393D79486B" />
            </desktop4:ItemType>
            <desktop5:ItemType Type="Directory">
              <desktop5:Verb Id="DirectoryPowerRename" Clsid="0440049F-D1DC-4E46-B27B-98393D79486B" />
            </desktop5:ItemType>
          </desktop4:FileExplorerContextMenus>
        </desktop4:Extension>

Eu não rastreei o código-fonte.
Não tenho certeza de qual é a função de retorno de chamada de profiles.json modificado🤔.

O meu funcionou depois de passar muito tempo lendo os comentários das pessoas.😃

Passos para adicionar "Windows terminal here" no menu de contexto do botão direito:
1) Baixe o terminal do Windows na loja da Microsoft

2) Em https://github.com/yanglr/WindowsDevTools/blob/master/awosomeTerminal/icons/wt_32.ico
ícone de download com nome de arquivo wt_32.ico

3) Abra seu CMD e execute este comando mkdir "%USERPROFILE%\AppData\Local\terminal"

4) Copie o ícone do terminal do Windows (que você baixou na Etapa 2) para a pasta C: \ Usuários [seu-nome-de-usuário] AppData \ Local \ terminal
(Exemplo do meu ícone para copiar: C: \ Usuários \ DellAppData \ Local \ terminal)

5) Abra o notpad e escreva o código abaixo

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\Background\shell\wt]
@="Windows terminal here"
"Icon"=C:\\Users\\[your-user-name]\\AppData\\Local\\terminal\\wt_32.ico

[HKEY_CLASSES_ROOT\Directory\Background\shell\wt\command]
@="C:\\Users\\[your-user-name]\\AppData\\Local\\Microsoft\\WindowsApps\\wt.exe"

6) Nota:
Em [seu-nome-de-usuário] escreva seu nome de usuário.
por exemplo, meu nome de usuário é Dell, meus caminhos serão

[HKEY_CLASSES_ROOT\Directory\Background\shell\wt]
@="Windows terminal here"
"Icon"=C:\\Users\\DELL\\AppData\\Local\\terminal\\wt_32.ico

[HKEY_CLASSES_ROOT\Directory\Background\shell\wt\command]
@="C:\\Users\\DELL\\AppData\\Local\\Microsoft\\WindowsApps\\wt.exe"

Salve o arquivo como wt.reg na sua área de trabalho (ou em qualquer lugar do seu PC) e abra-o
(pressione OK todos)
7) Teste clicando com o botão direito => Selecionar terminal windows aqui
[O terminal do Windows (visualização) será aberto] 👍

Ainda não funciona quando adiciona o menu de contexto às unidades no Explorador de Arquivos. Ele abre o WT por um segundo e então o fecha. Alguma pista de como resolver esse problema específico?

@ 4k3or3et Não tenho certeza do que você está se referindo, mas o trabalho de @ atif-dev e outros como @ zadjii-msft é bastante redundante, pois há um módulo do Windows PowerShell que cobre isso totalmente, incluindo reversão e personalização.

@ 4k3or3et Não tenho certeza do que você está se referindo, mas o trabalho de @ atif-dev e outros como @ zadjii-msft é bastante redundante, pois há um módulo do Windows PowerShell que cobre isso totalmente, incluindo reversão e personalização.

Da mesma forma que adiciona itens de menu de contexto em HKEY_CLASSES_ROOT\Direcroty\shell você também pode adicioná-los em HKEY_CLASSES_ROOT\Drive\shell . Você obtém os itens do menu de contexto ao clicar com o botão direito do mouse nas unidades no Explorador de Arquivos.

O problema é que quando você adiciona "C:\Users\PROFILE\AppData\Local\Microsoft\WindowsApps\wt.exe -d "%V" -p "Debian" que funciona no caso de pastas, não funciona para unidades no Explorador de Arquivos. O WT então abre por um segundo e fecha por algum motivo.

Minha pergunta é se alguém descobriu por que o Terminal do Windows não consegue lidar com o "% V" no caso do Drive?

Obrigado.

O atalho deve ser %V\.

O atalho deve ser %V\.

Oh cara! Isso é incrível!!!

Isso funciona para unidades e pastas ...

Você poderia ser esse tipo de pessoa e me explicar a "ciência" por trás de "% V"? Como ele difere do "% V" normal?

Portanto, este é um daqueles "problemas estranhos". "%V" na raiz da unidade se expande para "C:\" . A maioria dos analisadores de argumentos de comando tratam \" como " , porque \ é o caractere de "escape". Portanto, ele transforma o caminho de "C:\" em C:" (excluindo a primeira cotação e consumindo a segunda).

Usar "%V\." faz com que a raiz da unidade se expanda para "C:\\." , o que é totalmente legal.

Portanto, este é um daqueles "problemas estranhos". "%V" na raiz da unidade se expande para "C:\" . A maioria dos analisadores de argumentos de comando tratam \" como " , porque \ é o caractere de "escape". Portanto, ele transforma o caminho de "C:\" em C:" (excluindo a primeira cotação e consumindo a segunda).

Usar "%V\." faz com que a raiz da unidade se expanda para "C:\\." , o que é totalmente legal.

Entendido. Obrigado novamente por sua ajuda.

Eu instalei por meio da loja, mas o Windows me diz "Aplicativo não encontrado" quando coloco wt.exe como o comando na chave de registro. Se eu mudar para o caminho completo, ou seja, %LOCALAPPDATA%\Microsoft\WindowsApps\wt.exe , obtenho um erro "não é possível acessar" (não são os direitos corretos para este item).

Atualmente, tenho o comando adicionado como cmd.exe /C start wt.exe , e isso funciona, embora o antigo prompt do cmd pisque na tela ao abrir wt.

Eu instalei por meio da loja, mas o Windows me diz "Aplicativo não encontrado" quando coloco wt.exe como o comando na chave de registro. Se eu mudar para o caminho completo, ou seja, %LOCALAPPDATA%\Microsoft\WindowsApps\wt.exe , obtenho um erro "não é possível acessar" (não são os direitos corretos para este item).

Atualmente, tenho o comando adicionado como cmd.exe /C start wt.exe , e isso funciona, embora o antigo prompt do cmd pisque na tela ao abrir wt.

alterar por meio de regedit% LOCALAPPDATA% no endereço real como "C: \ Usuários \ [usuário] AppData \ Local"

e então adicionei este "startingDirectory": "%__CD__%" ao profile.json

Eu instalei por meio da loja, mas o Windows me diz "Aplicativo não encontrado" quando coloco wt.exe como o comando na chave de registro. Se eu mudar para o caminho completo, ou seja, %LOCALAPPDATA%\Microsoft\WindowsApps\wt.exe , obtenho um erro "não é possível acessar" (não são os direitos corretos para este item).
Atualmente, tenho o comando adicionado como cmd.exe /C start wt.exe , e isso funciona, embora o antigo prompt do cmd pisque na tela ao abrir wt.

alterar por meio de regedit% LOCALAPPDATA% no endereço real como "C: \ Usuários [usuário] AppData \ Local"

e então adicionei este "startingDirectory": "%__CD__%" ao profile.json

Obrigado, parece que esta é realmente a abordagem correta, usando o caminho expandido em vez de %LOCALAPPDATA% . Estou usando "startingDirectory": "." que também funciona conforme o esperado.

@ Wosser1sProductions apenas use este cmd.exe /s /k pushd "%V" vez de qualquer outro comando.

O objetivo é abrir o novo Terminal do Windows (o executável wt.exe ) a partir do menu de contexto. O valor padrão para abrir o prompt de comando regular é de fato cmd.exe /s /k pushd "%V" .

Aqui está uma solução.

A desvantagem do arquivo reg é que você precisa adicionar um caminho de wt de usuário específico (uma vez que o UWP é instalado por usuário) em um contexto HKEY_CLASSES_ROOT. Tentei substituí-lo por HKEY_CURRENT_USER, mas não funciona para mim.

SE houver uma maneira de instalar o WT em todo o sistema em uma pasta "global", seria uma prática melhor

Deixe-me adicionar meu arquivo reg aqui, para que qualquer outra pessoa possa usá-lo:

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\Background\shell\wt]
@="Windows Terminal Here"
"Icon"="E:\\Resimler\\ico\\terminal.ico"

[HKEY_CLASSES_ROOT\Directory\Background\shell\wt\command]
@="D:\\WindowsApps\\Microsoft.WindowsTerminal_0.10.781.0_x64__8wekyb3d8bbwe\\WindowsTerminal.exe"

O primeiro @ é o texto que aparecerá no menu de contexto (_ "Windows Terminal Here" _)
"Ícone" é o caminho do ícone que também pode ser visto no menu de contexto.
O segundo @ é o caminho do Terminal exe. você precisa descobrir onde está.

Personalize e cole este código em um arquivo txt e renomeie-o como _wt.reg_. Do que executá-lo.

Em seguida, abra seu novo terminal do Windows. Vá para as configurações:
image

Aqui estamos no profiles.json
Cole esses códigos nele:


{
    "$schema": "https://aka.ms/terminal-profiles-schema",
    "defaultProfile": "{61c54bbd-c2c6-5271-96e7-009a87ff44bf}",
    "profiles":
    {
        "defaults":
        {
        },
        "list":
        [
            {
                "guid": "{0caa0dad-35be-5f56-a8ff-afceeeaa6101}",
                "name": "cmd",
                "commandline": "cmd.exe",
                "hidden": false,
                "startingDirectory": "."
            },
            {
                "guid": "{61c54bbd-c2c6-5271-96e7-009a87ff44bf}",
                "name": "Windows PowerShell",
                "commandline": "powershell.exe",
                "hidden": false
            },
            {
                "guid": "{b453ae62-4e3d-5e58-b989-0a998ec441b8}",
                "hidden": false,
                "name": "Azure Cloud Shell",
                "source": "Windows.Terminal.Azure"
            },
            {
                "guid": "{2c4de342-38b7-51cf-b940-2309a097f518}",
                "hidden": false,
                "name": "Ubuntu",
                "source": "Windows.Terminal.Wsl"
            }
        ]
    },
    "schemes": [],
    "keybindings": []
}


É isso aí

aqui está meu script de registro, ele usa os argumentos da linha de comando. Eu o configurei para nomes de perfis padrão CMD, Powershell e WSL Ubuntu, com prompts normais e de administrador. Não requer nenhuma alteração no profiles.json, ao contrário da maioria dos scripts que vi nesta edição
https://gist.github.com/OmegaRogue/9069405e7b0bf5e76f1c5d9c96f8b663

Nenhuma dessas opções é algo com que eu ficaria totalmente feliz. Então, eu dei uma facada.

Modifiquei a solução da

image

Infelizmente, não consigo descobrir como colocar os comandos de administrador no mesmo nível. Isso é o que eu tenho:
image

Aqui está meu arquivo .reg
Deixei alguns comentários para ajudar as pessoas a descobrir quais seções fazem o quê, para que talvez alguém possa ajudar a corrigir o aninhamento do administrador.

Nenhuma dessas opções é algo com que eu ficaria totalmente feliz. Então, eu dei uma facada.

Modifiquei a solução da

image

Infelizmente, não consigo descobrir como colocar os comandos de administrador no mesmo nível. Isso é o que eu tenho:
image

Aqui está meu arquivo .reg
Deixei alguns comentários para ajudar as pessoas a descobrir quais seções fazem o quê, para que talvez alguém possa ajudar a corrigir o aninhamento do administrador.

Posso modificar meu arquivo para fazer isso e remover aninhamento de administrador

@OmegaRogue Legal, mas acho que o ícone do menu principal morrerá com uma versão (e assim o caminho do WindowsTerminal.exe será alterado). Talvez seja melhor substituí-lo por um ícone mais universalmente acessível.

Edit: Além disso, se você conseguir adicionar opções de administração (de @ t-makaro) sem o problema de aninhamento, seria ótimo.

Engraçado, como @lllopo @OmegaRogue @ t-makaro @sundowatch e outros reinventaram uma roda.

Esses reg arquivos têm os mesmos erros novamente. Eles não têm rollback ou testes. Eles não estão funcionando em caminhos com caracteres não ASCII como ě š č ř í é ý é ů ou você precisa alterar a configuração do seu terminal.

Em vez disso, dê uma olhada aqui .

Engraçado, como @lllopo @OmegaRogue @ t-makaro @sundowatch e outros reinventaram uma roda.

Esses reg arquivos têm os mesmos erros novamente. Eles não têm rollback ou testes. Eles não estão funcionando em caminhos com caracteres não ASCII como ě š č ř í é ý é ů ou você precisa alterar a configuração do seu terminal.

Em vez disso, dê uma olhada aqui .

Eu sei o problema e a versão que uso não tem, acabei de postar esta versão para facilitar a leitura, minha versão usa texto codificado em hex (2) em vez de uma string normal

As pessoas então esquecem o efeito colateral de se você adicionar "startingDirectory": "." para trabalhar com a edição do Registro que adiciona o botão direito do mouse para abrir na pasta atual, que agora se você apenas abrir o Terminal através do menu iniciar, ele abre no diretório system32

As pessoas então esquecem o efeito colateral de se você adicionar "startingDirectory": "." para trabalhar com a edição do Registro que adiciona o botão direito do mouse para abrir na pasta atual, que agora se você apenas abrir o Terminal através do menu iniciar, ele abre no diretório system32

que é a razão pela qual meu script não precisa disso

Nenhuma dessas opções é algo com que eu ficaria totalmente feliz. Então, eu dei uma facada.

Modifiquei a solução da

image

Infelizmente, não consigo descobrir como colocar os comandos de administrador no mesmo nível. Isso é o que eu tenho:
image

Aqui está meu arquivo .reg
Deixei alguns comentários para ajudar as pessoas a descobrir quais seções fazem o quê, para que talvez alguém possa ajudar a corrigir o aninhamento do administrador.

adicionei uma versão do meu script de registro à essência que não tem aninhamento:
https://gist.github.com/OmegaRogue/9069405e7b0bf5e76f1c5d9c96f8b663#file -directory_prompts_windowsterminal_nonnested-reg

Fez isso:

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\Background\shell\wt]
@="Windows Terminal here"
"Icon"="C:\\Program Files\\WindowsApps\\Microsoft.WindowsTerminal_0.10.781.0_x64__8wekyb3d8bbwe\\WindowsTerminal.exe"

[HKEY_CLASSES_ROOT\Directory\Background\shell\wt\command]
@="C:\\Users\\<user>\\AppData\\Local\\Microsoft\\WindowsApps\\wt.exe -d %V"

[HKEY_CLASSES_ROOT\Directory\shell\wt]
@="Windows Terminal here"
"Icon"="C:\\Program Files\\WindowsApps\\Microsoft.WindowsTerminal_0.10.781.0_x64__8wekyb3d8bbwe\\WindowsTerminal.exe"

[HKEY_CLASSES_ROOT\Directory\shell\wt\command]
@="C:\\Users\\<user>\\AppData\\Local\\Microsoft\\WindowsApps\\wt.exe -d %V"
  • execute

Fez isso:

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\Background\shell\wt]
@="Windows Terminal here"
"Icon"="C:\\Users\\<user>\\AppData\\Local\\Terminal\\terminal.ico"

[HKEY_CLASSES_ROOT\Directory\Background\shell\wt\command]
@="C:\\Users\\<user>\\AppData\\Local\\Microsoft\\WindowsApps\\wt.exe -d ."

[HKEY_CLASSES_ROOT\Directory\shell\wt]
@="Windows Terminal here"
"Icon"="C:\\Users\\<user>\\AppData\\Local\\Terminal\\terminal.ico"

[HKEY_CLASSES_ROOT\Directory\shell\wt\command]
@="C:\\Users\\<user>\\AppData\\Local\\Microsoft\\WindowsApps\\wt.exe -d ."
  • execute

Você não precisa baixar o ícone, você pode apenas usar o caminho do executável como o caminho do ícone, como fiz no meu script de registro

Bem, precisamos editar o arquivo reg cada vez que o terminal do Windows é atualizado? é melhor armazenar o arquivo de ícone em outro lugar

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\Background\shell\wt]
@="Windows Terminal here"
"Icon"="C:\\Program Files\\WindowsApps\\Microsoft.WindowsTerminal_0.11.1121.0_x64__8wekyb3d8bbwe\\WindowsTerminal.exe"

[HKEY_CLASSES_ROOT\Directory\Background\shell\wt\command]
@="C:\\Users\\user\\AppData\\Local\\Microsoft\\WindowsApps\\wt.exe -d ."

[HKEY_CLASSES_ROOT\Directory\shell\wt]
@="Windows Terminal here"
"Icon"="C:\\Program Files\\WindowsApps\\Microsoft.WindowsTerminal_0.11.1121.0_x64__8wekyb3d8bbwe\\WindowsTerminal.exe"

[HKEY_CLASSES_ROOT\Directory\shell\wt\command]
@="C:\\Users\\user\\AppData\\Local\\Microsoft\\WindowsApps\\wt.exe -d ."

Percebi que clicar com o botão direito do mouse em uma pasta e iniciar o terminal não funciona corretamente, ele abre na pasta do contêiner.
Cheguei a uma solução substituindo wt.exe -d . por wt.exe -d "%V" no script de registro, é assim que o VS Code faz.

Aqui está o script de registro corrigido que usei (sem ícone)

Editar: Adicionado% V. conforme sugerido e clique com o botão direito em uma unidade.

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\shell\wt]
@="Open Windows Terminal here"
[HKEY_CLASSES_ROOT\Directory\shell\wt\command]
@="C:\\Users\\user\\AppData\\Local\\Microsoft\\WindowsApps\\wt.exe -d \"%V.\""

[HKEY_CLASSES_ROOT\Directory\Background\shell\wt]
@="Open Windows Terminal here"
[HKEY_CLASSES_ROOT\Directory\Background\shell\wt\command]
@="C:\\Users\\user\\AppData\\Local\\Microsoft\\WindowsApps\\wt.exe -d \"%V.\""

[HKEY_CLASSES_ROOT\Drive\shell\wt]
@="Open Windows Terminal here"
[HKEY_CLASSES_ROOT\Drive\shell\wt\command]
@="C:\\Users\\user\\AppData\\Local\\Microsoft\\WindowsApps\\wt.exe -d \"%V.\""

Esta solução funcionou muito bem, obrigado.

@BealeStBluesBoy e @ megapro17 Obrigado pelo seu arquivo reg.
Notei que wt.exe -d \"%V\" abre corretamente com a pasta selecionada, mas não funciona quando você está na raiz de uma unidade. Exemplo em c: ou d: . Ele abre o terminal, mas com o código de erro 0x8007010b
Além disso, quando você seleciona uma unidade e executa esse comando, outro erro aparece e o terminal nem mesmo abre.

No entanto, com wt.exe -d . o terminal abre sem problemas, não importa onde você esteja. A desvantagem é que ele apenas abre o diretório onde você está atualmente, não o diretório que você selecionou. Quando você seleciona uma unidade diretamente, ela simplesmente abre na pasta c:\windows\system32 .

Vou ficar com wt.exe -d . pois ele sempre abre um terminal utilizável.

EDITAR:
Como @ DHowett-MSFT sugeriu abaixo, existe outra opção wt.exe -d \"%V\.\" . Isso melhora o comportamento e faz um terminal abrir mesmo quando você está na raiz de uma unidade. Uma coisa que ainda não funciona com esta solução é quando você seleciona uma unidade. Isso ainda resulta em um erro.

Offtopic: Este problema é uma maneira grande de ler cada comentário :) Desculpe por postar um problema em dobro.

Experimente "%V\." , conforme sugerido várias vezes neste tópico.

Como você adiciona uma execução como administrador também?

Podemos mudar para admin através do terminal?

Podemos mudar para admin através do terminal?

Agora não, com o vanilla Windows Terminal. Talvez WT v2.0, consulte # 5000. Mas, há uma solução alternativa: você pode usar gsudo, um Sudo de código aberto para Windows.
https://github.com/gerardog/gsudo

Como sou o autor, sinto-me obrigado a avisar que é tecnicamente possível que um malware especialmente criado possa enviar pressionamentos de tecla para o console sudo'ed e pular o isolamento do UAC / e escalar privilégios.

Por falar em cmd way, já existe um comando cmd chamado runas que pede a senha (semelhante a sudo ).
https://en.wikipedia.org/wiki/Runas

Podemos mudar para admin através do terminal?

Agora não, com o vanilla Windows Terminal. Mayve WT v2.0, consulte # 5000. Mas, há uma solução alternativa: você pode usar gsudo, um Sudo de código aberto para Windows.
https://github.com/gerardog/gsudo

Como sou o autor, sinto-me obrigado a avisar que é tecnicamente possível que um malware especialmente criado possa enviar pressionamentos de tecla para o console sudo'ed e pular o isolamento do UAC / e escalar privilégios.

E se verificarmos o acesso indesejado por meio de algum mecanismo de segurança? Isso funcionaria? GSudo é um bom começo.

@BealeStBluesBoy e @ megapro17 Obrigado pelo seu arquivo reg.
Notei que wt.exe -d \"%V\" abre corretamente com a pasta selecionada, mas não funciona quando você está na raiz de uma unidade. Exemplo em c: ou d: . Ele abre o terminal, mas com o código de erro 0x8007010b
Além disso, quando você seleciona uma unidade e executa esse comando, outro erro aparece e o terminal nem mesmo abre.

No entanto, com wt.exe -d . o terminal abre sem problemas, não importa onde você esteja. A desvantagem é que ele apenas abre o diretório onde você está atualmente, não o diretório que você selecionou. Quando você seleciona uma unidade diretamente, ela simplesmente abre na pasta c:\windows\system32 .

Vou ficar com wt.exe -d . pois ele sempre abre um terminal utilizável.

EDITAR:
Como @ DHowett-MSFT sugeriu abaixo, existe outra opção wt.exe -d \"%V\.\" . Isso melhora o comportamento e faz um terminal abrir mesmo quando você está na raiz de uma unidade. Uma coisa que ainda não funciona com esta solução é quando você seleciona uma unidade. Isso ainda resulta em um erro.

Offtopic: Este problema é uma maneira grande de ler cada comentário :) Desculpe por postar um problema em dobro.

@brainfoolong Existem outros problemas além da raiz de uma unidade, mas resolvi todos esses problemas aqui . ✌

Como você adiciona uma execução como administrador também?

@aminya Desativei o UAC e desativei o Modo de aprovação de administrador (AAM), como BrainSlugs83 respondido em https://superuser.com/questions/462174/winr-runs-as-administrator-in-windows-8.
Se você não se preocupa com problemas de segurança ou quaisquer efeitos colaterais que possam causar, após fazer isso o Terminal do Windows será executado como Administrador por padrão, portanto, nenhuma configuração adicional será necessária após usar o script de registro acima.

Finalmente resolvi o problema 🚀. Basta mesclar isso.

Isso tem o botão admin sem quaisquer problemas de segurança.

Arquivo Reg genérico

(Se você não tem PowerShellCore, é mais lento):

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\Background\shell\wt]
@="Open Windows Terminal Here"
"Icon"="cmd.exe"

[HKEY_CLASSES_ROOT\Directory\Background\shell\wt\command]
@="PowerShell -windowstyle hidden -Command \"Start-Process wt.exe -ArgumentList \\\"-d\\\",\\\"%V.\\\"\""

[HKEY_CLASSES_ROOT\Directory\Background\shell\wt_admin]
@="Open Windows Terminal Here as Admin"
"Icon"="cmd.exe"
"HasLUAShield"=""

[HKEY_CLASSES_ROOT\Directory\Background\shell\wt_admin\command]
@="PowerShell -windowstyle hidden -Command \"Start-Process wt.exe -ArgumentList \\\"-d\\\",\\\"%V.\\\" -Verb RunAs\""

[HKEY_CLASSES_ROOT\Directory\shell\wt]
@="Open Windows Terminal Here"
"Icon"="cmd.exe"

[HKEY_CLASSES_ROOT\Directory\shell\wt\command]
@="PowerShell -windowstyle hidden -Command \"Start-Process wt.exe -ArgumentList \\\"-d\\\",\\\"%V.\\\"\""


[HKEY_CLASSES_ROOT\Directory\shell\wt_admin]
@="Open Windows Terminal Here as Admin"
"Icon"="cmd.exe"
"HasLUAShield"=""

[HKEY_CLASSES_ROOT\Directory\shell\wt_admin\command]
@="PowerShell -windowstyle hidden -Command \"Start-Process wt.exe -ArgumentList \\\"-d\\\",\\\"%V.\\\" -Verb RunAs\""

Arquivo de registro mais rápido

(Se você tiver PowerShellCore)

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\Background\shell\wt]
@="Open Windows Terminal Here"
"Icon"="cmd.exe"

[HKEY_CLASSES_ROOT\Directory\Background\shell\wt\command]
@="pwsh -windowstyle hidden -Command \"Start-Process wt.exe -ArgumentList \\\"-d\\\",\\\"%V.\\\"\""

[HKEY_CLASSES_ROOT\Directory\Background\shell\wt_admin]
@="Open Windows Terminal Here as Admin"
"Icon"="cmd.exe"
"HasLUAShield"=""

[HKEY_CLASSES_ROOT\Directory\Background\shell\wt_admin\command]
@="pwsh -windowstyle hidden -Command \"Start-Process wt.exe -ArgumentList \\\"-d\\\",\\\"%V.\\\" -Verb RunAs\""

[HKEY_CLASSES_ROOT\Directory\shell\wt]
@="Open Windows Terminal Here"
"Icon"="cmd.exe"

[HKEY_CLASSES_ROOT\Directory\shell\wt\command]
@="pwsh -windowstyle hidden -Command \"Start-Process wt.exe -ArgumentList \\\"-d\\\",\\\"%V.\\\"\""


[HKEY_CLASSES_ROOT\Directory\shell\wt_admin]
@="Open Windows Terminal Here as Admin"
"Icon"="cmd.exe"
"HasLUAShield"=""

[HKEY_CLASSES_ROOT\Directory\shell\wt_admin\command]
@="pwsh -windowstyle hidden -Command \"Start-Process wt.exe -ArgumentList \\\"-d\\\",\\\"%V.\\\" -Verb RunAs\""

Você pode baixar o ícone aqui e substituir seu caminho de download (escape \ ) por cmd.exe :
https://raw.githubusercontent.com/microsoft/terminal/master/res/terminal.ico

O modo de administração -windowstyle hidden parece ser ignorado

O modo de administração

Pode ser necessário reiniciar o explorer.exe

-windowstyle hidden parece ser ignorado

Mostra as janelas por um momento.

alguns dos scripts de administração não funcionam para mim, não tenho certeza do porquê, mas notei que git bash (falando de qual vscode parece ter muitos open with vs code pontos de entrada espalhados no registro) é exibido em mais menus do que algumas das soluções oferecem, então criei uma versão simplificada do
isso usa "%USERPROFILE%\AppData\Local\Microsoft\WindowsApps\wt.exe" "-d" "." como o comando, conforme sugerido
https://gist.github.com/YoraiLevi/283532872b26b93e562b04812821db25

Windows Registry Editor Version 5.00

;drive
[HKEY_CLASSES_ROOT\Drive\shell\wt]
@="Open Windows Terminal Here"
"Icon"="cmd.exe"

[HKEY_CLASSES_ROOT\Drive\shell\wt\command]
@=hex(2):22,00,25,00,55,00,53,00,45,00,52,00,50,00,52,00,4f,00,46,00,49,00,4c,\
  00,45,00,25,00,5c,00,41,00,70,00,70,00,44,00,61,00,74,00,61,00,5c,00,4c,00,\
  6f,00,63,00,61,00,6c,00,5c,00,4d,00,69,00,63,00,72,00,6f,00,73,00,6f,00,66,\
  00,74,00,5c,00,57,00,69,00,6e,00,64,00,6f,00,77,00,73,00,41,00,70,00,70,00,\
  73,00,5c,00,77,00,74,00,2e,00,65,00,78,00,65,00,22,00,20,00,22,00,2d,00,64,\
  00,22,00,20,00,22,00,2e,00,22,00,00,00
;end drive


;background 1
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\background\shell\wt]
@="Open Windows Terminal Here"
"Icon"="cmd.exe"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\background\shell\wt\command]
@=hex(2):22,00,25,00,55,00,53,00,45,00,52,00,50,00,52,00,4f,00,46,00,49,00,4c,\
  00,45,00,25,00,5c,00,41,00,70,00,70,00,44,00,61,00,74,00,61,00,5c,00,4c,00,\
  6f,00,63,00,61,00,6c,00,5c,00,4d,00,69,00,63,00,72,00,6f,00,73,00,6f,00,66,\
  00,74,00,5c,00,57,00,69,00,6e,00,64,00,6f,00,77,00,73,00,41,00,70,00,70,00,\
  73,00,5c,00,77,00,74,00,2e,00,65,00,78,00,65,00,22,00,20,00,22,00,2d,00,64,\
  00,22,00,20,00,22,00,2e,00,22,00,00,00
;end background 1

;libary folders, like what git does
[HKEY_CLASSES_ROOT\LibraryFolder\Background\shell\wt]
@="Open Windows Terminal Here"
"Icon"="cmd.exe"

[HKEY_CLASSES_ROOT\LibraryFolder\Background\shell\wt\command]
@=hex(2):22,00,25,00,55,00,53,00,45,00,52,00,50,00,52,00,4f,00,46,00,49,00,4c,\
  00,45,00,25,00,5c,00,41,00,70,00,70,00,44,00,61,00,74,00,61,00,5c,00,4c,00,\
  6f,00,63,00,61,00,6c,00,5c,00,4d,00,69,00,63,00,72,00,6f,00,73,00,6f,00,66,\
  00,74,00,5c,00,57,00,69,00,6e,00,64,00,6f,00,77,00,73,00,41,00,70,00,70,00,\
  73,00,5c,00,77,00,74,00,2e,00,65,00,78,00,65,00,22,00,20,00,22,00,2d,00,64,\
  00,22,00,20,00,22,00,2e,00,22,00,00,00
;end library folders 

;background 2
[HKEY_CLASSES_ROOT\Directory\background\shell\wt]
@="Open Windows Terminal Here"
"Icon"="cmd.exe"

[HKEY_CLASSES_ROOT\Directory\background\shell\wt\command]
@=hex(2):22,00,25,00,55,00,53,00,45,00,52,00,50,00,52,00,4f,00,46,00,49,00,4c,\
  00,45,00,25,00,5c,00,41,00,70,00,70,00,44,00,61,00,74,00,61,00,5c,00,4c,00,\
  6f,00,63,00,61,00,6c,00,5c,00,4d,00,69,00,63,00,72,00,6f,00,73,00,6f,00,66,\
  00,74,00,5c,00,57,00,69,00,6e,00,64,00,6f,00,77,00,73,00,41,00,70,00,70,00,\
  73,00,5c,00,77,00,74,00,2e,00,65,00,78,00,65,00,22,00,20,00,22,00,2d,00,64,\
  00,22,00,20,00,22,00,2e,00,22,00,00,00
;end background 2

Acabei de criar dois scripts do PowerShell para instalar / desinstalar os itens do menu de contexto e compartilhá-los no GitHub em

https://github.com/lextm/windowsterminal-shell

A lógica é semelhante à proposta de @ nerdio01 , mas o layout do menu é um pouco diferente (atualização: agora vários layouts são suportados).

image

Com install.ps1 e uninstall.ps1 , você não precisa mais importar arquivos de chave de registro e se perguntar como excluí-los se não gostar.

Solicitações pull são bem-vindas.

É um pouco irritante que o ícone esteja em um caminho com versão, existe uma maneira melhor de referenciá-lo além de apenas enviar o meu?

A meu ver, ter que editar manualmente o registro não é a solução ideal. Parte dos pontos de venda deste projeto é que ele suporta vários tipos de shells (pwsh, cmd, ubuntu, qualquer outro) e esta lista pode variar de usuário para usuário. Um script de registro corrigido não o cortará.
Também é preciso lembrar de remover manualmente as alterações feitas no registro ao desinstalar o Terminal do Windows.

Existe um design específico / consideração técnica / limitação que bloqueie esse recurso de ser integrado no próprio Terminal do Windows? Ou é mais uma questão de mão de obra, prioridades e tempo?

mão de obra, prioridades e tempo

Definitivamente aquele. Se eu tivesse todo o tempo de engenharia para gastar, gostaria de oferecer uma extensão de shell real que detectasse seus perfis e os exibisse em um menu, e permitisse que você gerasse shells em instâncias já em execução do Terminal.

Depois de pensar um pouco, acho que pode haver uma maneira mais simples de abordar isso. E se houvesse apenas uma única entrada estática no menu de contexto que, quando clicada, abriria o Terminal do Windows, onde seria solicitado a selecionar um perfil?

Isso eliminaria a necessidade de manter um conjunto dinâmico de chaves de registro. E faça com que o arquivo de configurações não precise ser analisado e verificado por alterações de perfil a cada clique com o botão direito.

Não me familiarizei com a base de código deste projeto, então não posso dizer com certeza se isso reduziria a quantidade de trabalho necessária para implementar isso. Mas eu gostaria de ouvir sua opinião sobre isso.

apenas digite wt na barra de endereços do Windows Explorer em qualquer pasta e pressione Enter

Se alguém tentou @ llevo3, a dica de digitar wt na barra de endereços do Explorer como faria com cmd não está funcionando para você.

Em seguida, certifique-se de que o seguinte está em sua variável de ambiente PATH
%USERPROFILE%\AppData\Local\Microsoft\WindowsApps

apenas digite wt na barra de endereços do Windows Explorer em qualquer pasta e pressione Enter

@ llevo3 isso não abre o terminal do Windows no diretório atual. Em vez disso, ele abre com o diretório padrão.

@abdulghanitech este problema extremamente específico foi discutido não menos que 30 vezes neste tópico. 😄

apenas digite wt na barra de endereços do Windows Explorer em qualquer pasta e pressione Enter

@ llevo3 isso não abre o terminal do Windows no diretório atual. Em vez disso, ele abre com o diretório padrão.

se você quiser abrir o diretório atual, basta usar a opção -d na frente do endereço
ex
wt -d [path you want to go]

Para esclarecer, você pode abrir o diretório atual digitando wt -d .

P: Uma vez que o terminal é aberto com wt -d . , existe uma maneira de usar o mesmo caminho para novas instâncias de terminal (guia / painel)?

Obrigado a todos que comentaram uma solução e diferentes abordagens para aplicá-la corretamente. Consegui trabalhar com o Console 2. Usando o "Abrir aqui" com o sinalizador -d . funcionou prefeito.

Com licença, como posso consertar isso

image

Cara, não entre em um tópico não relacionado para fazer uma pergunta. Registre um novo bug e a equipe poderá verificá-lo 😄

@miniksa @ zadjii-msft @ DHowett-MSFT @factormystic @ChrisGuzak

Resolvi o problema agora, poderia ser fechado. Muito obrigado a todos os envolvidos nesta discussão.

Etapa 0:

Teste se as duas constantes abaixo funcionam bem, as quais serão usadas nas outras etapas seguintes.

echo %USERPROFILE%

echo %LOCALAPPDATA%

Se tudo funcionar bem aqui, essas duas constantes podem ser usadas diretamente nas etapas abaixo.

Ou execute as seguintes substituições nas etapas abaixo:

% USERPROFILE% → C:\Users\[userName]
% LOCALAPPDATA% → C:\Users\[userName]\AppData\Local

Aqui [userName] representa seu nome de usuário, por exemplo, o meu é Bruce .

Passo 1:
Execute as coisas abaixo em CMD :

mkdir "%USERPROFILE%\AppData\Local\terminal"

image

Passo 2:
Copie o ícone do terminal do Windows para a pasta %USERPROFILE%\AppData\Local\terminal , o ícone pode ser obtido em https://github.com/yanglr/WindowsDevTools/tree/master/awosomeTerminal/icons cujo nome de arquivo é wt_32.ico .

Etapa 3:
Salve o conteúdo a seguir como wt.reg e execute como administrador.

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\Background\shell\wt]
@="Windows terminal here"
"Icon"="%USERPROFILE%\\AppData\\Local\\terminal\\wt_32.ico"

[HKEY_CLASSES_ROOT\Directory\Background\shell\wt\command]
@="%LOCALAPPDATA%\\Microsoft\\WindowsApps\\wt.exe"

Para ser observado , se o exe obtido após criar o código por você mesmo for wtd.exe , você precisa alterar o wt.exe para wtd.exe no registro acima.

Passo 4:
Teste
image

Tive um problema com esta solução, alguns problemas de permissão, se pode ajudar alguém
substituir
@="%LOCALAPPDATA%\\Microsoft\\WindowsApps\\wt.exe"
com
@="C:\\Users\\YOURUSERNAME\\AppData\\Local\\Microsoft\\WindowsApps\\wt.exe -d ."

Do meu entendimento, as variáveis ​​de ambiente com codificação percentual devem usar o tipo de string expansível ( REG_EXPAND_SZ ) para serem interpretadas corretamente, por isso acredito que algumas das outras soluções não funcionam totalmente 1 . Eu criei o script de registro abaixo que usa strings expansíveis para que você não precise alterar o nome de usuário, entretanto, você provavelmente deseja alterar o caminho do ícone .

Também adicionei uma ação / opção para abrir como administrador.

Windows Registry Editor Version 5.00

;Binary data is just UTF16 (LE) split every 2 bytes with a comma
;Conversion done with https://onlineutf8tools.com/convert-utf8-to-utf16?hex=true&little-endian=true&space=false&chain=split-string%253Fsplit-by-length%253Dtrue%2526separator%253D%252C

;User action
[HKEY_CLASSES_ROOT\Directory\Background\shell\WindowsTerminal]
@="Open Terminal here"
;"Icon"="%USERPROFILE%\Pictures\Icons\terminal.ico" (Location to ICO or comment out to hide icon)
"Icon"=hex(2):25,00,55,00,53,00,45,00,52,00,50,00,52,00,4f,00,46,00,49,00,4c,00,45,00,25,00,5c,00,50,00,69,00,63,00,74,00,75,00,72,00,65,00,73,00,5c,00,49,00,63,00,6f,00,6e,00,73,00,5c,00,74,00,65,00,72,00,6d,00,69,00,6e,00,61,00,6c,00,2e,00,69,00,63,00,6f,00

;User action command
[HKEY_CLASSES_ROOT\Directory\Background\shell\WindowsTerminal\command]
;@="%LOCALAPPDATA%\Microsoft\WindowsApps\wt.exe -d ."
@=hex(2):25,00,4c,00,4f,00,43,00,41,00,4c,00,41,00,50,00,50,00,44,00,41,00,54,00,41,00,25,00,5c,00,4d,00,69,00,63,00,72,00,6f,00,73,00,6f,00,66,00,74,00,5c,00,57,00,69,00,6e,00,64,00,6f,00,77,00,73,00,41,00,70,00,70,00,73,00,5c,00,77,00,74,00,2e,00,65,00,78,00,65,00,20,00,2d,00,64,00,20,00,2e,00

;Admin action
[HKEY_CLASSES_ROOT\Directory\Background\shell\WindowsTerminalAdmin]
@="Open Terminal here (Admin)"
;Show the UAC shield on the action
"HasLUAShield"=""
;"Icon"="%USERPROFILE%\Pictures\Icons\terminal.ico" (Location to ICO or comment out to hide icon)
"Icon"=hex(2):25,00,55,00,53,00,45,00,52,00,50,00,52,00,4f,00,46,00,49,00,4c,00,45,00,25,00,5c,00,50,00,69,00,63,00,74,00,75,00,72,00,65,00,73,00,5c,00,49,00,63,00,6f,00,6e,00,73,00,5c,00,74,00,65,00,72,00,6d,00,69,00,6e,00,61,00,6c,00,2e,00,69,00,63,00,6f,00

;Admin action command
[HKEY_CLASSES_ROOT\Directory\Background\shell\WindowsTerminalAdmin\command]
@="PowerShell -WindowStyle Hidden -Command \"Start-Process wt -ArgumentList '-d','.' -Verb runAs\""
  1. https://superuser.com/a/599025

Do meu entendimento, as variáveis ​​de ambiente com codificação percentual devem usar o tipo de string expansível ( REG_EXPAND_SZ ) para serem interpretadas corretamente, por isso acredito que algumas das outras soluções não funcionam _fully_1. Eu criei o script de registro abaixo que usa strings expansíveis para que você não precise alterar o nome de usuário, entretanto, você provavelmente deseja alterar o caminho do ícone .

Também adicionei uma ação / opção para abrir como administrador.

Windows Registry Editor Version 5.00

;Binary data is just UTF16 (LE) split every 2 bytes with a comma
;Conversion done with https://onlineutf8tools.com/convert-utf8-to-utf16?hex=true&little-endian=true&space=false&chain=split-string%253Fsplit-by-length%253Dtrue%2526separator%253D%252C

;User action
[HKEY_CLASSES_ROOT\Directory\Background\shell\WindowsTerminal]
@="Open Terminal here"
;"Icon"="%USERPROFILE%\Pictures\Icons\terminal.ico" (Location to ICO or comment out to hide icon)
"Icon"=hex(2):25,00,55,00,53,00,45,00,52,00,50,00,52,00,4f,00,46,00,49,00,4c,00,45,00,25,00,5c,00,50,00,69,00,63,00,74,00,75,00,72,00,65,00,73,00,5c,00,49,00,63,00,6f,00,6e,00,73,00,5c,00,74,00,65,00,72,00,6d,00,69,00,6e,00,61,00,6c,00,2e,00,69,00,63,00,6f,00

;User action command
[HKEY_CLASSES_ROOT\Directory\Background\shell\WindowsTerminal\command]
;@="%LOCALAPPDATA%\Microsoft\WindowsApps\wt.exe -d ."
@=hex(2):25,00,4c,00,4f,00,43,00,41,00,4c,00,41,00,50,00,50,00,44,00,41,00,54,00,41,00,25,00,5c,00,4d,00,69,00,63,00,72,00,6f,00,73,00,6f,00,66,00,74,00,5c,00,57,00,69,00,6e,00,64,00,6f,00,77,00,73,00,41,00,70,00,70,00,73,00,5c,00,77,00,74,00,2e,00,65,00,78,00,65,00,20,00,2d,00,64,00,20,00,2e,00

;Admin action
[HKEY_CLASSES_ROOT\Directory\Background\shell\WindowsTerminalAdmin]
@="Open Terminal here (Admin)"
;Show the UAC shield on the action
"HasLUAShield"=""
;"Icon"="%USERPROFILE%\Pictures\Icons\terminal.ico" (Location to ICO or comment out to hide icon)
"Icon"=hex(2):25,00,55,00,53,00,45,00,52,00,50,00,52,00,4f,00,46,00,49,00,4c,00,45,00,25,00,5c,00,50,00,69,00,63,00,74,00,75,00,72,00,65,00,73,00,5c,00,49,00,63,00,6f,00,6e,00,73,00,5c,00,74,00,65,00,72,00,6d,00,69,00,6e,00,61,00,6c,00,2e,00,69,00,63,00,6f,00

;Admin action command
[HKEY_CLASSES_ROOT\Directory\Background\shell\WindowsTerminalAdmin\command]
@="PowerShell -WindowStyle Hidden -Command \"Start-Process wt -ArgumentList '-d','.' -Verb runAs\""
  1. https://superuser.com/a/599025

Ei, obrigado por isso, eu não acabei usando isso porque ele abre uma janela do Windows PowerShell ao iniciar de uma forma elevada, mas me levou a olhar mais a fundo e fiz meu próprio repositório com um script de instalação fácil para qualquer outra pessoa que deseja entradas do menu de contexto para o Terminal do Windows.

Para futuros leitores deste longo tópico,

  • A Microsoft decidiu incluir seus próprios itens de menu de contexto do Windows Explorer. É por isso que este problema foi encerrado. No entanto, devido ao seu ciclo de lançamento, isso não chegará à sua máquina (via Microsoft Store para Windows 10) em algumas semanas (ou meses). Até agora, eles desenvolveram uma extensão de shell simples com algumas funcionalidades básicas.
  • Se você realmente precisar de menus de contexto neste momento, terá que adicionar tais itens de menu por conta própria usando um dos métodos neste longo tópico. Para resumir,

    • Importar chaves de registro.
    • Use alguns arquivos em lote. (como este )
    • Use alguns scripts do PowerShell. (como este )

Independentemente do que você escolher, relate os problemas aos proprietários desses repositórios para que eles possam corrigi-los.

  • No entanto, devido ao seu ciclo de lançamento, isso não chegará à sua máquina (via Microsoft Store para Windows 10) em algumas semanas (ou meses)

Oh, definitivamente vai demorar mais do que meses 😉

: tada: Este problema foi resolvido em # 6100, que agora foi lançado com sucesso como Windows Terminal Preview v1.1.1671.0 .: tada:

Links úteis:

O link Store Download não deveria para o Windows Terminal Preview (https://www.microsoft.com/store/apps/9n8g5rfz9xk3?cid=storebadge&ocid=badge)? 🤔

@DHowett oh não, vamos precisar atualizar o bot

Parece que ainda vou usar meu script em lote por agora, já que o vanilla não inclui uma opção elevada, tenho certeza que com mais tempo a versão vanilla terá mais opções e / ou recursos, muito obrigado ao cara quem enviou a solicitação de pull!

Huh, absolutamente precisaremos atualizar o bot. Ri muito.

Desculpe pela mensagem fora do tópico, mas se você instalou a versão de lançamento e a de visualização, qual seria chamada ao executar o wt?

Estou supondo que tudo o que você definiu nos aliases de execução do aplicativo nas configurações do Windows:
image

Sim.

Seria bom se o ícone do terminal também fosse incluído no menu de contexto

Seria bom se o ícone do terminal também fosse incluído no menu de contexto

Ei, wadda, você sabe, é o # 6246.

Por favor, pelo amor de todos neste assunto (todos os 111 de vocês), verifique estes problemas:
https://github.com/microsoft/terminal/issues?q=is%3Aopen+is%3Aissue+label%3AArea-ShellExtension

antes de comentar sobre "cara, seria legal se o menu de contexto fizesse ..."

O link Store Download não deveria para o Windows Terminal Preview ( microsoft.com/store/apps/9n8g5rfz9xk3?cid=storebadge&ocid=badge )? 🤔

@DHowett oh não, vamos precisar atualizar o bot

Huh, absolutamente precisaremos atualizar o bot. Ri muito.

Entendi.

Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

ghost picture ghost  ·  3Comentários

Wid-Mimosa picture Wid-Mimosa  ·  3Comentários

miniksa picture miniksa  ·  3Comentários

mdtauk picture mdtauk  ·  3Comentários

NickITGuy picture NickITGuy  ·  3Comentários