tools - visual studio compiler javascript
La funciĆ³n "compilar al guardar" de TypeScript no funciona en Visual Studio 2015 (10)
La función "Compilar al guardar" no funciona para mí después de actualizar a Visual Studio 2015. Cuando hago un cambio en un archivo
.ts
en mi proyecto y lo
.ts
, la barra de estado en la parte inferior del IDE dice
Output(s) generated successfully
, pero el archivo
.js
generado no cambia.
Esto es lo que he intentado:
-
agregando lo siguiente al elemento raíz
<Project>
en mi.csproj
:<PropertyGroup> <TypeScriptCompileOnSaveEnabled>True</TypeScriptCompileOnSaveEnabled> </PropertyGroup>
-
marcando y desmarcando la opción "Compilar automáticamente archivos TypeScript que no forman parte de un proyecto" en
Tools -> Options -> TypeScript -> Project
: -
doble verificación para asegurarse de que "Compilar al guardar" esté marcado en las propiedades de compilación de TypeScript de mi proyecto:
¿Qué me estoy perdiendo?
Como nota al margen, el paso de compilación de TypeScript funciona según lo esperado cuando se desencadena por una compilación normal.
Con el mecanografiado 2 debe eliminar "outDir": de su tsconfig. Solucione el error para mí en Visual Studio.
El
"compileOnSave": true,
no estaba funcionando para mí.
Finalmente descubrí que Visual Studio no
"compileOnSave": true,
el
"compileOnSave": true,
valor si está definido en otro archivo
.json
que está extendiendo.
Tiene que estar en la raíz para que funcione.
En las propiedades del proyecto -> "TypeScript Build", también puede simplemente desmarcar "No emitir resultados si se informa algún error". Tenerlo marcado parece desactivar la transpilación al guardar, donde hay un error o no.
En mi caso, instalé Visual Studio Community 2015 junto con VS 2012. Estuve usando Web Essentials para el mecanografiado en 2012, que parecía estar en conflicto con 2015.
Desinstalar Web Essentials en 2012 me solucionó el problema.
Este problema parece haberse resuelto con la actualización más reciente de la extensión de
TypeScript Language Services
.
Consulte esta respuesta para obtener instrucciones sobre cómo aplicar esta actualización.
Exactamente el mismo problema aquí.
Estoy usando Visual Studio 2015 actualización 3 y TypeScript 2.9.2.0.
En herramientas / opciones / proyectos y soluciones / herramientas web externas, actualicé $ (PATH) a la segunda posición.
Con todas estas configuraciones, compileOnSave: true no funciona para mí.
La solución alternativa es abrir una línea de comando, ejecutar
ng build --watch
a un lado y dejar que el nodo se encargue de la compilación automática
Hoy me topé con este problema: lo solucioné usando la nueva opción "compilador
"watch":true
compilador, también disponible a través de JSON en las versiones más recientes de TypeScript:
{
"compilerOptions": {
"watch": true
}
}
Después de hacer eso, tuve que resolver otro problema relacionado con el siguiente error que apareció en la ventana de salida:
Object doesn''t support property or method ''watchFile''
Resultó que mi sistema estaba usando una versión desactualizada de
TypeScript
(1.0.x), a pesar de que estaba seguro de que tenía una más nueva que venía con
Visual Studio 2015 Update 1
(1.7).
Si se encuentra con este problema, puede verificar fácilmente su versión de
tsc -v
escribiendo
tsc -v
desde un símbolo del sistema.
Si dice
1.0.x
algo <1.7, probablemente se deba al hecho de que tiene algunas referencias antiguas en su variable de entorno PATH.
Asegúrese de tener instalado 1.7 o posterior verificando dentro de su carpeta de SDK de Microsoft, que es la que usa Visual Studio para instalar los paquetes de TypeScript a medida que se actualizan:
C:/Program Files (x86)/Microsoft SDKs/TypeScript
Si no es así, actualice en consecuencia.
Abra
CPanel
>
Sistema
>
Avanzado
>
Variables de entorno
, seleccione
Variables del sistema
y haga clic en
Editar
;
navegue por la lista buscando cualquier referencia a la carpeta TypeScript, cambie una de ellas para que apunte a la versión instalada más reciente de TypeScript (
1.7
o superior) y elimine cualquier otro engaño.
Vea también la captura de pantalla a continuación:
Para detalles adicionales, lea esta publicación en mi blog.
Para mí fue esta opción en
tsconfig.json
:
"compileOnSave": true,
"compilerOptions": { ... },
Reinicie Visual Studio para que este cambio surta efecto.
Solución:
Para mí, y estoy bastante seguro de que este también es el caso para otros, esto se debió a un error en tsconfig.json.
Necesita agregar "compileOnSave": verdadero. Pero en la sección global no dentro de compilerOptions.
Wrong:
{
"compilerOptions": {
"noImplicitAny": false,
"noEmitOnError": true,
"removeComments": false,
"sourceMap": true,
"target": "es5",
"compileOnSave": true
},
"exclude": [
"node_modules",
"wwwroot"
]
}
Correct:
{
"compilerOptions": {
"noImplicitAny": false,
"noEmitOnError": true,
"removeComments": false,
"sourceMap": true,
"target": "es5"
},
"compileOnSave": true,
"exclude": [
"node_modules",
"wwwroot"
]
}
Atentamente,
Anders Ambos Basechat.
ubique el archivo, es decir, C: / file.ts en su
terminal/cmd
y escriba
tsc file.ts -w // watches for file changes and converts on save