terça-feira, 21 de novembro de 2017

Configurando o TFVC no VS Code

dSe você trabalha com o Team Foundation Version Control (TFVC) com o Visual Studio, deve conseguir configura-lo com poucos passos. Mas se trabalha com o VS Code a coisa é menos trivial, já que é feita pela extensão "Visual Studio Team Services extension for Visual Studio Code". O cenário fica ainda mais complicado se você trabalha com Linux.

Para começar, é importante conhecer alguns conceitos como Workspace, Workfold. Depois é importante conhecer a linha de comando, já que a extensão utiliza só o executável TF e muitos dos diagnóticos das situações de problema são feitos utilizando linhas de comando.

Vamos primeiro no passo a passo do que precisa ser feito e no fim do post coloco informações adicionais que pode lhe ajudar a procurar soluções para problemas do seu ambiente.

Configurando a Extensão

Abra o VS Code, vá no ícone Source Control (esquerda), clique nos "..." e depois no Install Additional SCM Providers


Selecione o Visual Studio Team Services







Ao término clique na opção Reload.
Depois vá na opção File, Preferences, Settings:





Busque por tfvc e edite as propriedades
"tfvc.location": (local do executável TF , no meu caso era "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\TeamExplorer\\Common7\\IDE\\CommonExtensions\\Microsoft\\TeamFoundation\\Team Explorer\\TF.exe)
"tfvc.restrictWorkspace": true

Dica 1


Assim que configurei o usando o TF.exe do Visual Studio 2105 tive o erro : "It appears you have configured a non-English version of the TF executable. Please ensure an English version is properly configured.", que corrigi instalando o Visual Studio Team Explorer 2017 e renomeando a pasta de localização de "pt-BR" que nessa resposta do stackoverflow expliquei com mais detalhes.

Instalando o Visual Studio Team Explorer 2017

O Visual Studio Team Explorer 2017 é "Uma solução gratuita para não desenvolvedores interagirem com o Team Foundation Server e Visual Studio Team Services." e pode ser baixado neste link.
Ao instalar selecione os pacotes de língua inglês e português(que virá marcado por padrão se seu sistema operacional estiver nessa língua).


Faça a conexão com o TFS na collection desejada. Isso pode ser feito com o comando:
tf workspaces -collection:URL_COLLECTION_TFS

Crie um Workspace local:
tf workspace -new -collection:URL_COLLECTION_TFS -location:local myWorkspaceName

Mapeie um diretório remoto a um diretório local:
tf workfold -map '$/PATH_SERVER' 'C:\PATH_LOCAL' -collection:URL_TFS /workspace:myWorkspaceName

Feito isso deveria ser possível abrir o vscode no c:\path_local, abrir a paleta de comandos (atalho pelo f1) e executar o comando "Team:Sign". Mas tive o erro resolvido com o workaround dessa issue.

Conhecimento adicional para solução de problema

Se algo não funcionar habilite do log da extensão. Isso poderá ser feito dentro do VS Code, no menu File, Preferences, Settings. Adicione a chave "team.logging.level": "debug".
Um arquivo chamado "team-extension.log" será criado localmente na raiz do workspace.
O artigo "Use Team Foundation version control commands" explica
1) Comandos de configuração do ambiente na parte "Set up your dev machine and manage workspaces"
2) Comandos de desenvolvimento na parte "Develop your app", "Suspend your work", "Contribute your work"
3) Comandos para gerenciar arquivos e resolver conflitos "Manage files and solve problems"