Manuscrito compilar y guardar con Visual Studio 2013?


No puedo hacer que Compile-on-Save funcione con VS2013. He instalado VS2013, reinstalado TS 0.9.0.1, y en "Herramientas", "Opciones", Typescript/Project/General, he comprobado las dos opciones de "Compilar al guardar". Pero cuando agrego un nuevo archivo TS a mi proyecto y, a continuación, editar y guardar, los cambios no se reflejan en la asociada .archivo js.

Estoy haciendo algo mal? ¿Alguien más tiene este problema?

Author: Ken Smith, 2013-07-18

9 answers

Esto resolvió el problema para mí:

  1. Vaya a Opciones en el menú Herramientas.
  2. Expanda las opciones del Editor de texto
  3. Expanda las opciones de TypeScript
  4. Expand options for Project
  5. Marque"Compilar automáticamente archivos TypeScript que no forman parte del proyecto"
 52
Author: Daniel,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-02-20 02:49:09

Tuve la siguiente situación: el proyecto fue creado usando vs2012 y una versión anterior de typescript. Actualicé a VS2013 y la última versión de typescript (0.9.1.1) y los scripts no se compilaron en guardar.

Luego excluí el archivo typescript de mi proyecto y lo agregué de nuevo usando Add existing file. Después de que el archivo typescript compila bien en guardar!!

 16
Author: rekna,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-11-09 00:00:17

TypeScript 0.9.5 compile on save dejó de funcionar para mí en un proyecto existente después de actualizar a Web Essentials 1.85 (Feb 14). Reinstalé ambos en vano, pero después de verlo funcionar para nuevos proyectos traté de cambiar esta línea en mi csproj, de esto;

<Project ToolsVersion="4.0" />

A

<Project ToolsVersion="12.0"/>

Y mágicamente, compilar en guardar comenzó a funcionar de nuevo.

 7
Author: cirrus,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-02-10 14:32:10

Intenta seguir estas instrucciones:

Compile-on-Save

He estado luchando para conseguir mi cabeza alrededor de esto también, pero creo que lo tengo arreglado. Creo que parte de la confusión proviene de las diferencias de enfoque entre WebEssentials y la nueva integración del plugin TypeScript.

Fui uno de los primeros en adoptar TypeScript y utilicé las herramientas WebEssentials en 2012 para compilar en save. Tenía esto configurado para generar .js and .min.archivos js, que fueron añadidos a el proyecto automáticamente.

Al actualizar a VS 2013 estaba buscando la misma funcionalidad del soporte de TypeScript incorporado, sin embargo, no existe (por lo que puedo decir).

En cambio, creo que las herramientas integradas en 2013 cubren los flujos de trabajo de desarrollo y producción.

Las instrucciones anteriores para construir en tiempo de compilación que debe ocurrir durante la liberación. Durante el desarrollo, la función" Compilar al guardar " genera los archivos en el disco, pero no añadirlos al proyecto.

Entonces me di cuenta de que los archivos generados en realidad no necesitan ser parte del proyecto como lo eran antes, y por qué es mejor que la solución WebEssentials (excluyendo la falta de ventana de vista previa!).

 4
Author: Brett Postin,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-12-11 22:28:36

Para mí, incluso si Compile-on-save estuviera funcionando (Visual Studio 2013), si alguien más intentara ejecutar el proyecto web, no generaría automáticamente los archivos javascript. En mi proyecto, incluí archivos *.js y archivos *.js.map para evitar que IIS no tome la nueva versión cuando modifique los archivos *.ts. Pero estos archivos no están incluidos en el control de código fuente.

Lo que hice así es que incluí la siguiente línea al final del archivo de proyecto csproj:

<Target Name="AfterBuild">
  <Exec Command="tsc.exe --sourcemap _core.ts" WorkingDirectory="$(MSBuildProjectDirectory)\js" />
</Target>

Donde _core.ts es un archivo en la carpeta js que references estoy seguro references hace referencia a todos los archivos directa o indirectamente a través de encabezados al principio.

/// <reference path="_dependent.ts" />
...

De modo que tsc.exe también procesa todos los archivos dependientes.

 2
Author: Mikaël Mayer,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-10-08 20:27:41

Al lado de los pasos anteriores, si compilar al guardar aún no funciona, marque su proyecto como el proyecto de inicio (en VS 2013 solution explorer, haga clic con el botón derecho, Establecer como Proyecto de inicio).

Esta solución fue encontrada en Codeplex por nicholasjgreen y se publica en los comentarios en http://typescript.codeplex.com/wikipage?title=Compile-on-Save .

 1
Author: Eduardo Lucas,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-11-24 10:15:57

Resolví este problema agregando la función al final del archivo Typescript. No funcionó cuando la función' new ' se escribió en la parte superior de la página (antes que las otras funciones), pero cuando la agregué debajo de la última función funcionó. Sólo tomó tres horas!

 1
Author: Raymond Starkey,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-10-16 18:01:49

¿Ha agregado los archivos typescript usando drag'n'drop? Entonces podría ser que la acción de compilación de los archivos tiene el valor incorrecto. Utilice la ventana de propiedades de los archivos (F4 o alt + enter) y verifique la acción de compilación allí...

 0
Author: A. K-R,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-07-18 10:55:35

Esta característica es un poco más fácil de encontrar utilizando el siguiente método. (VS2015)

  1. Vaya a Herramientas > Opciones.
  2. Asegúrese de que tiene "Mostrar todos los ajustes" seleccionado. Esta es una casilla de verificación cerca de la parte inferior de la ventana.
  3. Ponga " typescript" en la barra de búsqueda y presione entrar.
  4. Ahora, la lista debe ser filtrada. Vaya a la configuración: Editor de texto > Typescript > Proyecto > General.
  5. Ahora selecciona " Compilar automáticamente Archivos TypeScript que no forman parte del proyecto". Pulse OK.
 0
Author: prolink007,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-11-11 22:28:10