Olá!
Recentemente estive investigando uma situação incômoda enquanto editava classes ou rotinas ObjectScript no VSCode. O que acontecia era que, como estava escrevendo as linhas de código na minha classe (por exemplo: a adição de um novo método, mudança da assinatura de classe ou de um bloco de código) isso ocasionava uma rápida revisão da sintaxe, reformatação e compilação - e inevitavelmente (já que eu estava apenas na metade da escrita), isso gerava erros de compilação.
.png)
Sabendo que estava a meio caminho de adicionar código, podia simplesmente descartar essa mensagem, mas isso começou a ficar incômodo e me condicionou a ignorar possíveis erros (o que não é bom).
Ainda pior, o processo de compilação também reformatava o documento e às vezes rompia o que antes eram linhas de código bem formatadas (que apareciam abaixo da linha que eu estava escrevendo, o que me obrigava a ir até essa zona do documento e arrumá-las novamente.
O que é isso que acontece?
Há duas configurações em jogo:
- A configuração de salvar automaticamente do VSCode (files.autosave), que dita se deve salvar automaticamente um documento que tenha sido modificado e, se sim, quanto tempo esperar antes de salvar (files.autoSaveDelay)
- CompileOnSave da extensão ObjectScript (objectscript.compileOnSave), que determina se depois de salvar o documento, ele também se importa e compila no namespace conectado do IRIS.
Como eu tinha o autosave ativado, e com um retardo de espera pequeno, junto com o compileOnSave, significava que o código parcialmente editada se seguia compilando, gerando os erros aos quais me referi, e como mencionado, às vezes reformatando blocos de códigos bons pré-existentes.
No meu caso, decidi pelo seguinte:
- Autosalvar (files.autosave) desativado (se ignora autosaveDelay), e...
- CompileOnSave (objectscript.compileOnSave) ativado.
Agora, quando estou satisfeito com minhas edições (e quando eu queira!), aperto Ctrl+S para salvar, importar e compilar minha classe, e estou atento a essa mensagem emergente que agora tem verdadeiro significado e propósito.
Você pode escolher uma combinação diferente (por exemplo, seguir em frente e salvar automaticamente depois de 5 minutos mais ou menos, aceitando que o código pode não compilar completamente). No entanto, decidi que a combinação anterior funciona para mim, e espero que - se você está passando pelo mesmo incômodo, esse artigo possa ajudá-lo a encontrar sua configuração ótima.
Agradeço a @Patrick Sulin, e @Raj Singh por me indicar como chegar a estes ajustes!