Mover e renomear arquivos
Renomeie ou mova um arquivo ou uma pasta, e todo caminho que aponta para ele é atualizado.
Renomeie ou mova um arquivo ou uma pasta no VS Code, e todo caminho que aponta para ele é atualizado no mesmo passo. Você não precisa procurar o caminho antigo pelo mod.
Como usar
Renomeie um arquivo ou uma pasta no Explorer (F2, ou botão direito → Rename), ou arraste para outra pasta. Só isso.
Na primeira vez, o VS Code pergunta se deve aplicar as mudanças da extensão. Essa janela é do próprio VS Code e aparece para toda extensão que altera arquivos numa mudança de lugar. Marque Do not ask me again para não ver mais.
O que é atualizado
- Os caminhos de
@include, nos arquivos.siie.sui. - Todo atributo que cita um arquivo:
model: "/vehicle/truck/my_truck/cabin.pmd",shadow_texture, os sons ("horn|/sound/truck/horn.soundref") e o resto. - Os caminhos de textura nos arquivos
.mat, tanto no formato do jogo quanto no mais antigo. - Os nomes de textura nos arquivos
.tobjde texto, como o SCS Blender Tools os exporta. - O banco de som nos arquivos
.soundref(source="/sound/truck/horns.bank#air"). O evento depois do#continua igual, aqui e nos arquivos.sii. - Os caminhos relativos escritos dentro de um arquivo que você move, para que continuem apontando para os mesmos arquivos.
Mover uma pasta atualiza os caminhos para todos os arquivos dentro dela.
Como os caminhos são escritos
- Um caminho que começa com
/continua começando com/. - Um caminho relativo continua relativo enquanto der. Os arquivos do jogo nunca sobem
uma pasta com
../, então um caminho que precisaria disso passa a ser escrito a partir do/.
Por exemplo, depois de renomear a pasta vehicle/truck/my_truck/ para w900/, um
arquivo que cita um modelo dentro dela muda assim:
accessory_rim_data : my_hub.shub {
name: "My hub"
model: "/vehicle/truck/my_truck/hub.pmd"
model: "/vehicle/truck/w900/hub.pmd"
}
Revisar as mudanças
Quando uma mudança de lugar altera caminhos em poucos arquivos .sii ou .sui (até
6, por padrão), o VS Code os abre sem salvar, para você conferir antes de salvar. Os
arquivos .mat são salvos para você: veja Salvos para você.
Cada linha alterada ganha uma marca no começo da linha e na barra de rolagem, na
mesma cor que o git usa para linhas modificadas, para você encontrá-las num arquivo
longo. Passe o mouse sobre a linha para ver por que ela mudou.
As marcas somem quando você salva ou fecha o arquivo, ou quando a linha não tem mais o caminho novo.
Salvos para você
Renomear uma pasta pode alterar dezenas de arquivos: uma pasta de texturas pode ser
citada em cinquenta arquivos .mat. Abrir cada um para você salvar enterraria o seu
trabalho em abas, então alguns são salvos na hora, as abas que a mudança abriu são
fechadas, e uma notificação diz quantos arquivos foram atualizados:
- Arquivos
.mat, sempre. Eles costumam ser escritos pelo conversor do SCS Blender Tools, e não há nada para revisar neles. Isso também significa que você pode renomear uma pasta de texturas sem converter os modelos de novo. - Todos os arquivos, quando passam de 6 dos outros tipos.
Duas coisas nunca são mexidas:
- As abas que você já tinha abertas continuam abertas.
- Arquivos com mudanças suas não salvas nunca são salvos para você: eles continuam abertos, com o caminho novo, para você salvar.
Dá para mudar tudo isso nas configurações, em File Moves:
| Configuração | Padrão | O que faz |
|---|---|---|
Auto Save (scs-intellisense.fileMoves.autoSave) | ligado | Desmarque para sempre deixar os arquivos abertos para revisão |
Always Save (scs-intellisense.fileMoves.alwaysSave) | .mat | Os tipos de arquivo salvos depois de toda mudança. Adicione .tobj, por exemplo |
Save Above (scs-intellisense.fileMoves.saveAbove) | 6 | Acima dessa quantidade de arquivos dos outros tipos, eles também são salvos. 0 sempre salva |
Notify (scs-intellisense.fileMoves.notify) | ligado | A notificação. O log da extensão sempre registra |
O que não é atualizado
- Mudanças feitas fora do VS Code, no Explorador do Windows ou por outro programa: o VS Code não as vê. Mova os seus arquivos de dentro do VS Code.
- Arquivos
.tobjcompilados: são binários, então a extensão não consegue alterá-los. Um.tobjcom um.ddsde mesmo nome ao lado é tomado por compilado e não é lido, mesmo que seja texto. Os que o SCS Blender Tools exporta citam um.tgaou.png, então são lidos. - Caminhos que não podem mais ser escritos: um arquivo movido para fora da pasta do seu mod.