André Alves de Lima

Talking about Software Development and more…

Forçando o modo off-line no Visual Studio 2013

Olá caro(a) leitor(a)!

Ao trabalharmos com o Visual Studio 2013 em uma solução armazenada no Team Foundation Server, algumas vezes surge a necessidade de trabalharmos off-line. No meu caso, o que acontece normalmente é que eu quero alterar vários arquivos por fora do Visual Studio e posteriormente pretendo que o Team Foundation Server entenda que ele deve fazer o check-out desses arquivos ao retornar para o modo online (dessa forma não preciso fazer o check-out deles um a um antes de alterá-los).

No Visual Studio, ao abrirmos uma solução que estava off-line, somos automaticamente questionados se queremos alternar para o modo online. Além disso, quando uma solução off-line está aberta, sempre temos a opção de alternar para o modo online (“go online“).

Mas, e o inverso? Como podemos alternar do modo online para o modo off-line?

Como não existe um botão “go off-line” na seção de Source Control do Visual Studio, temos que nos contentar em utilizar algumas soluções alternativas (leia-se gambiarra). Até hoje eu utilizava um método bem arcaico, que era o seguinte:

  • Fechar a solução no Visual Studio
  • Desconectar o cabo de rede
  • Abrir a solução no Visual Studio, e escolher a opção “go off-line
  • Conectar o cabo de rede

Por anos eu me contentei com essa solução por não ter procurado uma melhor alternativa. Mas, hoje eu resolvi colocar um ponto final nessa situação e decidi vasculhar essa nossa Internet por uma melhor maneira de forçar o modo off-line sem ter que desconectar o cabo de rede.

Na minha busca por uma alternativa, encontrei dois posts no StackOverflow: este e este. Imaginei que eles não fossem ajudar muito, visto que eles são um tanto quanto antigos (um é de 2010 e o outro é de um ano atrás), porém, apesar de não terem resolvido diretamente minha necessidade (porque estou usando uma versão mais atual do Team Foundation Server), eles acabaram me apontando para o caminho da solução. Principalmente este artigo que encontrei no blog chamado “The art of simplicity“, de Bart Wullems.

Esse post aponta duas soluções. A primeira é instalar uma extension no Visual Studio chamada “Go off-line“. E a segunda é utilizar uma das ferramentas do “Team Foundation Server Power Tools“. Por razões obvias, eu me recusei a instalar mais uma extensão no meu Visual Studio só para conseguir ir pro modo off-line. E como eu já tinha instalado o “Team Foundation Server Power Tools” (a propósito, instale agora mesmo se você ainda não tem, porque essa extensão vale a pena), eu resolvi explorar a segunda alternativa. O artigo apresenta uma solução que funciona para o TFS 2010, mas, eu estou utilizando o TFS 2013, então tive que fazer uma pequena adaptação. Vamos à solução!

Primeiramente, instale o Team Foundation Server Power Tools. Depois, abra um developer
prompt do Visual Studio (procure por “Visual Studio Tools” no Windows e execute o item “Developer Command Prompt for VS2013“):

No developer prompt, execute o comando “tfpt connections” (sem aspas, obviamente). E aqui vale a pena ressaltar a diferença entre o comando para o TFS 2010 e o TFS 2013. Nas versões anteriores do TFS, o comando era “tfpt tweakui“, e ele foi alterado na versão atual para “tftp connections” (aliás, parabéns para a Microsoft, porque “tweakui” tinha sido uma péssima escolha):

Na janela que se abre (“TFS Connections“), abra o servidor e clique no team project que você quer alternar para o modo off-line e clique em “Edit”:

E então, finalmente, na janela “Team Foundation Server Properties“, basta escolher a opção “Server is offline” e clicar em OK:

Pronto! Seu team project está agora off-line. Quando quiser alterá-lo para online novamente, é só limpar a caixa “Server is offline” e tudo volta a funcionar normalmente.

Espero que essa dica seja útil para algum de vocês no futuro. Pelo menos pra mim vai quebrar o galho.

Até o próximo post!

André Lima

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *