Visual Studio Code (Português)

Status de tradução:
Esse artigo é uma tradução de
Visual Studio Code
. Data da última tradução: 2020-06-21. Você pode ajudar a sincronizar a tradução, se houver
alterações
na versão em inglês.
Visual Studio Code
é um editor de texto de plataforma cruzada, livre e de código aberto (licenciado sob a licença MIT) desenvolvido pela Microsoft e escrito em JavaScript e TypeScript. Ele é construído sobre a estrutura Electron e é extensível usando extensões, que podem ser navegadas
na web
ou de dentro do próprio editor de texto. Enquanto o projeto é de código aberto, uma compilação proprietária (licenciada sob um Contrato de Licença de Usuário Final) também é fornecida pela Microsoft. Para obter uma explicação do licenciamento misto, consulte
este comentário no GitHub
.
Instalação
Os seguintes pacotes fornecem VSCode:
code
(lançamento de código aberto)
visual-studio-code-bin
AUR
(Lançamento da marca Microsoft)
visual-studio-code-insiders-bin
AUR
(Lançamento da marca Microsoft, atualizado diariamente)
code-git
AUR
(versão de código aberto em desenvolvimento)
vscodium-bin
AUR
(outra versão de código aberto com uma configuração padrão orientada pela comunidade)
Um servidor/módulo da Microsoft
ptvsd
(Python Tools for Visual Studio Debug) está disponível em
python-ptvsd
AUR
[
link quebrado
: package not found]
.
Uso
Execute o
code
para iniciar o aplicativo (ou
code-git
ao usar o
code-git
AUR
).
Se, por qualquer motivo, você desejar iniciar várias instâncias do Visual Studio Code, o sinalizador
-n
poderá ser usado.
Configuração
code
armazena configurações em
~/.config/Code - OSS/User/settings.json
.
visual-studio-code-bin
AUR
armazena configurações em
~/.config/Code/User/settings.json
.
Terminal Integrado
View > Integrated Terminal
ou
Ctrl + `
abre um terminal integrado.
Por padrão,
Bash
é usado sem argumentos adicionais, embora isso possa ser alterado.
terminal.integrated.shell.linux
define o shell padrão a ser usado e
terminal.integrated.shellArgs.linux
define os argumentos a serem passados para o shell.
Exemplo:
~/.config/Code/User/settings.json
"terminal.integrated.shell.linux": "/usr/bin/fish",
"terminal.integrated.shellArgs.linux": ["-l","-d 3"]
Você pode enfrentar solicitações estranhas depois de definir os argumentos do shell integrado com terminal externo, remover a linha para resolver o problema ou usar um terminal externo.
Terminal externo
Se você estiver usando
Terminator
como terminal padrão para o Arch e tiver um erro no Código do Visual Studio:
Não é possível iniciar o processo do depurador (vsdbg) através do terminal. spawn truecolor ENOENT
, você pode alterar o terminal que será usado pelo Visual Studio para outro terminal (por exemplo,
gnome-terminal
).
"terminal.external.linuxExec": "Your alternative terminal"
define o terminal padrão a ser usado para depuração da execução.
Exemplo:
~/.config/Code/User/settings.json
"terminal.external.linuxExec": "gnome-terminal"
Solução de problemas
O menu global não funciona no KDE/Plasma
O Visual Studio Code usa o DBus para passar o menu para o plasma, tente instalar
libdbusmenu-glib
Não foi possível mover itens para a lixeira
Por padrão,
Electron
os aplicativos usam
gio
para excluir arquivos. Diferentes implementações de lixo podem ser usadas configurando a
variável de ambiente
ELECTRON_TRASH
.
Por exemplo, para excluir arquivos no
Plasma
:
$ ELECTRON_TRASH=kioclient5 code
No momento da redação deste artigo, o Electron possui suporte a
kioclient5
,
kioclient
,
trash-cli
,
gio
(padrão) e
gvfs-trash
(descontinuado). Mais informações estão disponíveis nesta
página de documentação
.
Falha ao depurar C#
Se você deseja depurar o C#
.NET
(usando a
extensão OmniSharp
), será necessário instalar o lançamento com a marca da Microsoft (do AUR). Aparentemente, isso ocorre porque o depurador do .NET Core é licenciado apenas para ser usado com os produtos oficiais da Microsoft - consulte
esta discussão no GitHub
Ao usar o pacote de código aberto, a depuração falha bastante silenciosamente. O console de depuração mostrará apenas a mensagem inicial:
You may only use the Microsoft .NET Core Debugger (vsdbg) with
Visual Studio Code, Visual Studio or Visual Studio for Mac software
to help you develop and test your applications.
Para depurar com o pacote de código aberto,
netcoredbg
AUR
pode ser usado. Para executá-lo no VS Code, adicione esta configuração à configuração de inicialização do .NET Core do projeto:
./.vscode/launch.json
"configurations": [
    {
...
    "pipeTransport": {
        "pipeCwd": "${workspaceFolder}",
        "pipeProgram": "/usr/bin/bash",
        "pipeArgs": ["-c"],
        "debuggerPath": "/usr/bin/netcoredbg"
    }
...
Falha ao abrir .csproj com servidor OmniSharp, local inválido de Microsoft.Common.props
É necessário alternar dos adereços da versão mono para os adequados da versão SDK:
/opt/dotnet/sdk/{VERSION}/Sdks/Microsoft.NET.Sdk/Sdk/Sdk.props
$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props
Modifique a importação para ficar assim:
/opt/dotnet/sdk/{VERSION}/Sdks/Microsoft.NET.Sdk/Sdk/Sdk.props
/opt/dotnet/sdk/{VERSION}/Current/Microsoft.Common.props
Erro do OmniSharp que "MSBuild cannot be located"
Notou-se na
introdução do OmniSharp
que os usuários do Arch Linux devem instalar o pacote
mono-msbuild
. Sem ele, você pode receber um erro como:
OmniSharp Log
[info]: OmniSharp.MSBuild.Discovery.MSBuildLocator
        Registered MSBuild instance: StandAlone 15.0 - "~/.vscode/extensions/ms-vscode.csharp-1.18.0/.omnisharp/1.32.11/omnisharp/msbuild/15.0/Bin"
            MSBuildExtensionsPath = /usr/lib/mono/xbuild
            BypassFrameworkInstallChecks = true
            CscToolPath = ~/.vscode/extensions/ms-vscode.csharp-1.18.0/.omnisharp/1.32.11/omnisharp/msbuild/15.0/Bin/Roslyn
            CscToolExe = csc.exe
            MSBuildToolsPath = ~/.vscode/extensions/ms-vscode.csharp-1.18.0/.omnisharp/1.32.11/omnisharp/msbuild/15.0/Bin
            TargetFrameworkRootPath = /usr/lib/mono/xbuild-frameworks
System.TypeLoadException: Could not load type of field 'OmniSharp.MSBuild.ProjectManager:_queue' (13) due to: Could not load file or assembly 'System.Threading.Tasks.Dataflow, Version=4.5.24.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies.
...
Você pode construir de qualquer maneira (possivelmente dependendo se você tem o
mono
instalado)
Não é possível salvar com "Retry as Sudo"
Esse recurso não funciona no pacote
code
, porque a Microsoft não suporta a maneira como o pacote Arch é empacotado (nativo em vez do Electron incluído). Veja
FS#61516
e o
relatório de erro do upstream
para obter mais informações.
O lançamento binário
visual-studio-code-bin
AUR
não possui esse problema, e o recurso funciona lá.
Variantes de teclado ou mapeamentos de teclas não funcionam
Conforme a
wiki no GitHub
:
A mudança de layouts de teclado em alguns gerenciadores de janelas Linux não resulta em uma alteração nas APIs de janelas X de baixo nível que o VS Code usa para ler o layout atual do teclado. Isso significa que o VS Code acaba lendo um dos outros layouts de teclado configurados e não o ativo atual. PR são bem-vindas...
Conforme a wiki, há duas soluções possíveis:
certifique-se que
setxkbmap -query
como o primeiro layout de teclado aquele que você deseha usar no VS Code.
use
"keyboard.dispatch": "keyCode"
em suas configurações e reinicie o VS Code. Isso é para impedir o VS Code de tentar determinar seu layout de teclado.
Comando 'remote-containers.openFolder' não encontrado
Abra VS Code ativando a API de contêineres remotos conforme comentado em
FS#63374
$ code-oss --enable-proposed-api ms-vscode-remote.remote-containers
Faltando a API do VS Live Share
Instalar o pacote de código aberto
code
pode carecer de APIs propostas necessárias habilitadas por padrão, as quais permitiriam suporte à extrensão VS Live Share, resultando no erro
[VS Code] [ms-vsliveshare.vsliveshare]: Proposed API is only available when running out of dev or with the following command line switch: --enable-proposed-api ms-vsliveshare.vsliveshare
Conforme a
documentação da Microsoft
, há algumas poucas soluções possíveis:
Instalar os pacotes com a marca da Microsoft:
visual-studio-code-bin
AUR
,
visual-studio-code-insiders-bin
AUR
Adicionar as seguintes entradas à seção
extensionAllowedProposedApi
no arquivo
product.json
(
code
o instala
usr/lib/code/product.json
)
"extensionAllowedProposedApi": [
    "ms-vsliveshare.vsliveshare",
    "ms-vscode.node-debug",
    "ms-vscode.node-debug2"
]