Solapas principales

Pregunta
Daniel Aguilar · Sep 1, 2020

Importar / Exportar rutinas y clases con extensión VSCODE

Buenas tardes, estamos probando la migración a la versión de IRIS porque queríamos aprovechar el poder trabajar con el plugin Insertystems ObjectScript de Visual Studio Code para control de versiones pero haciendo pruebas veo lo siguiente:

Nosotros tenemos muchísimas clases y rutinas en nuestros namespaces y cuando hago un cambio de rama en VSCODE para que los cambios se graben en el lado servidor hay que pulsar en Importar y Compilar el namespace completo a fin de que los cambios de la nueva rama queden grabados en el servidor (Este proceso le puede costar fácilmente 20 minutos y no aporta ningún feedback del porcentaje de la operación realizado) ya que de lo contrario tengo los cambios en las vistas que ofrece el plugin de VSCODE tanto en el lado cliente como en el lado servidor pero si entro con el Studio y abro la rutina veo que efectivamente los cambios de la rama a la que acabo de cambiar no están.

¿Hay alguna forma de "aligerar" este proceso de "Importar y compilar" para que lo realice de un modo mas eficiente?

¿Hay alguien que esté trabajando actualmente con el plugin para VSCODE que me pueda echar una mano?

Resumiendo, problemas que tenemos:

-> Hay que ejecutar manualmente "Importar y compilar" los cambios para todos los namespaces cuando cambias de rama.

-> La operación "Importar y compilar" tarda como 20 minutos y no reporta feedback del estado actual de la operación (En el OUTPUT del terminal ObjectScript se queda como colgado y va apareciendo el avance por bloques derrepente)

 

Muchas gracias de antemano por vuestra ayuda ;-)

 

 

 

 

00
1 0 2 91

Respuestas

Daniel, let me answer you in English, as I don't speak Spanish, hope I got your point (with the help from google translate) and you'll get my point.

A common use-case for most of the editors with any languages but ObjectScript is just to edit code. With some extra possibilities related to a particular language.

But InterSystems, not a common language, and as you said you have to compile your code and would like to have more control over it.

If you would need to do it in Java, you rather use Gradle or Ant, if it would be C,C++ I think something like cmake. JavaScript or TypeScript even also use some kind of compilers. But most of those tools work outside of any editor. So, I'm sure that InterSystems ObjectScript not an exception here anyway, I would not say that's a good way if VSCode would have so much control over it. My point is, that you some own ways how to build the entire project from sources. And the most common way to do it now with %Installer manifest.

Good morning Dimitry, I'm glad to be back to talk to you.

Thanks for your reply ( I will try to answer you in English wink ) 

I have never use %Installer, I have been investigating and I seem to understand that it is a class with a manifest in which the server configuration is defined, the class must be have a method called setup and that it can be executed by terminal, I understand that a condition can also be included to force the compilation of all the classes and routines (It is right?)

Does using %Intaller offer any performance improvement?

Would the steps to follow be the following ?:

1 -> Change branch from VsCode

2 -> Launch the "setup" method of the %Intaller class from terminal (for import and compile routines in server side, Would this be equivalent to clicking "Import and Compile", right? ), Should this method be launched from within VsCode terminal?

3 -> Could the execution of the% Installer be automated after the branch change?

Thank you very much Dimitry