A cor de fundo ANSI padrão não é renderizada corretamente no subsistema Windows para Linux (terminal bash nativo para Windows), criando uma cor de fundo azul na saída quando não deveria haver nenhuma.
"terminal.integrated.shell.windows": "C:\\WINDOWS\\Sysnative\\bash.exe"
, Hyper: shell: 'C:\\Windows\\System32\\bash.exe'
)Para referência, o prompt é o padrão:
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
onde [\033[00m\]
deveria ser redefinido para o padrão, o que acontece, mas o padrão parece estar errado. Usar [\033[39m\]
também dá o mesmo efeito.
Usar o CMD ou PS padrão do Windows não reproduz os mesmos efeitos.
As bordas nas imagens refletem o fundo real do aplicativo.
VSCode:
Hyper:
Obrigado por relatar @ christopher-tse. Acho que precisaremos de um pouco mais de informações aqui.
Você poderia seguir os próximos passos e voltar com os detalhes solicitados:
PS1="\u:\w $ "
). Isso deve dar a você um terminal preto e branco típicogreen test
, com green
sendo realmente verde 😅):
echo -e "\033[1;32mgreen\033[0m test"
Por último, se houver uma maneira de definir a opção debug
do terminal xterm.js para true
no código do VS e puder enviar logs de terminal de volta, isso também seria muito útil. Eles devem ser assim:
data:
[1;32mgreen[0m test
www-data<strong i="21">@e167814701c2</strong>:/mnt/project $ undefined
Terminal.ts:1917 CSI 1;32 m undefined
Terminal.ts:1917 CSI 0 m undefined
PS: Você também pode enviar a versão específica do hyper que está usando? O Hyper ainda não integrou o xterm.js (https://github.com/zeit/hyper/pull/1983), então, se esse é um problema que aparece tanto no software que usa xterm.js quanto no hyper.is, provavelmente é um problema de o subsistema Linux.
Já vi isso antes quando você tem cores fora do padrão em cmd.exe. Se isso resolver o problema, é um problema com https://github.com/rprichard/winpty
@Tyriar Você acertou em
@parisk Suponho que você não precise dos detalhes acima, então? Terei todo o prazer em fazer algumas capturas de tela, se você ainda quiser.
@ christopher-tse legal, vou encerrar isso porque é um problema do upstream. Os detalhes não deveriam ser necessários 😃