Typescript: Option "Aucune compilation" de Visual Studio

Créé le 11 mars 2015  ·  29Commentaires  ·  Source: microsoft/TypeScript

Salut,

Nous avons récemment développé une amélioration pour le plugin grunt-ts qui permet de cibler un fichier de projet Visual Studio pour les chemins d'accès aux fichiers TS d'entrée et les informations de configuration TS plutôt que d'avoir à utiliser src: et les autres options. https://github.com/TypeStrong/grunt-ts/pull/215

Grunt-ts avec Task Runner Explorer permet aux développeurs d'utiliser des fonctionnalités qui ne sont pas encore prises en charge par l'interface utilisateur de configuration de génération de projet Visual Studio TypeScript (telles que preserveConstEnums).

Une chose à propos de l'utilisation de Task Runner Explorer est qu'il ne peut se connecter qu'à certains événements Visual Studio. Parmi eux, il y a «après construction» et «avant construction». Après la construction fonctionne très bien, mais il a le problème étrange de VS faire sa propre étape de compilation du TypeScript suivie par grunt-ts appelant tsc. Cela ne semble pas être un problème sauf pour les performances (le travail que VS fait pour compiler et émettre est un effort inutile et le développeur doit attendre plus longtemps le résultat souhaité).

Je me demande quel serait le meilleur moyen pour nous de désactiver _uniquement_ la compilation / émission dans Visual Studio pour TypeScript, mais de garder tout le reste identique (mise en évidence du service de langage / de la syntaxe, liste des erreurs, création de C # ou VB, etc.). Est-ce même actuellement possible? Sinon, est-ce possible?

Merci!

Question

Commentaire le plus utile

Juste pour info, dans VS2015 RTM, il existe un moyen plus simple de désactiver TypeScriptCompile:
Ajoutez simplement <TypeScriptCompileBlocked>true</TypeScriptCompileBlocked> au .csproj , par exemple dans le premier <PropertyGroup> .

Tous les 29 commentaires

Salut, il y a quelques jours, j'ai soumis le numéro 2252 qui est en quelque sorte lié à cela. J'ai besoin d'un moyen de déclencher des événements avant et après la construction lors de l'utilisation de la compilation lors de l'enregistrement pour un projet TS ayant une sortie de fichier unique (tout en conservant les commandes VS "Build" et "Rebuild" habituelles, le service de langage, le débogage, etc. .). Pour contourner le problème, j'utilise actuellement Task Runner Explorer avec grunt-contrib-watch (lancé en utilisant une liaison de "Solution Open") pour surveiller le fichier compilé pour les changements et effectuer des actions supplémentaires à chaque fois qu'il est modifié.

Cependant, je ne trouve pas cela vraiment satisfaisant (je dois également effectuer des actions de pré-compilation et préfère généralement que les étapes de construction soient toutes faites en utilisant Grunt ou toutes avec VS) et envisagez de faire exactement ce qui est décrit: Désactivez complètement la compilation VS et implémentez une compilation personnalisée lors de l'enregistrement, des builds complets (qui incluent l'exécution de tests unitaires, etc.), des événements pré et post-build avec une combinaison de grunt-contrib-watch, grunt-ts, de plugins grunt supplémentaires et Task Runner Explorer .

(mise à jour: déjà implémenté cela et cela fonctionne très bien - il exécute un script de construction grunt personnalisé chaque fois qu'un fichier .ts est modifié, bien qu'il ne supporte actuellement pas les liaisons TRE "Before Build" et "After Build" - pour ce qui est mentionné ci-dessus les raisons).

Il semble que le moyen le plus simple (et le moins impliqué pour les développeurs de plugins TS) d'autoriser efficacement ces types de scénarios de construction serait de fournir une option pour désactiver toute forme de compilation initiée par Visual Studio. J'aimerais, moi aussi, avoir des idées sur la façon de procéder?

Je ne sais pas s'il existe une bonne option pour vous en ce moment. Si vous définissez chaque fichier .ts du projet pour avoir Build Action: None dans ses propriétés, cela ferait probablement ce que vous voulez, mais c'est assez onéreux à faire manuellement, même dans les projets de taille moyenne.

La construction est dérivée par des cibles dans les projets MSBuild. Si vous souhaitez désactiver la construction dactylographiée par défaut, supprimez la référence aux cibles dactylographiées de votre fichier.

Cela empêchera votre service linguistique de collecter tous les fichiers du projet dans un seul contexte. Je dirais que c'est bien, et dans la prochaine version, nous devrions avoir le support tsconfig et cela deviendra votre nouveau projet. Si vous souhaitez toujours le faire fonctionner sans utiliser tsconfig et / ou attendre la prochaine version, définissez une propriété <TypeScriptEnabled>true</TypeScriptEnabled> dans votre fichier projet.

@mhegazy vouliez -vous dire <TypeScriptEnabled>false</TypeScriptEnabled> ?

bien selon ce que vous voulez :)

si vous souhaitez désactiver le chargement du contenu du projet de service linguistique, définissez-le sur false,
si vous voulez l'activer, rendez-le vrai. il est déjà activé en incluant les cibles par défaut (Microsoft.TypeScript.targets)

OK, je vais jouer avec. Merci!

Merci @mhegazy , l'option de configuration semble fonctionner jusqu'à présent! (tout en affichant toujours des erreurs de syntaxe / conformité et en permettant le débogage dans IE) et peut même être défini pour une configuration de solution spécifique (j'ai essayé et cela a semblé fonctionner), comme ceci:

<PropertyGroup Condition="'$(Configuration)' == 'Debug'">
...
    <TypeScriptEnabled>false</TypeScriptEnabled>
...
</PropertyGroup>

Je ne sais pas exactement ce que signifie «désactiver le chargement du contenu du projet de service linguistique»? (Je ne suis pas très familier avec les concepts VS comme les cibles, les contextes, etc.). D'après ce que j'ai testé, tout semble fonctionner normalement avec cette option (à part le comportement attendu de ne pas compiler lors de la compilation)? Et il semble qu'il ajoutera toujours des entrées <TypeScriptCompile Include=".."/> pour les fichiers .ts nouvellement ajoutés / créés dans la configuration du projet.

Par ailleurs, maintenant que tout est fait via Grunt, je dois trouver un moyen de gérer les collisions entre les builds déclenchés par grunt-watch et les événements liés "Before Build" / "After Build" lors de l'invocation du VS Build Commandes Rebuild , car VS enregistre automatiquement avant le démarrage de la construction, conduisant à deux instances Grunt différentes s'exécutant inutilement en parallèle.

Je n'ai pas pu faire fonctionner <TypeScriptEnabled>false</TypeScriptEnabled> (VS 2013 Update 4 avec TypeScript 1.4), mais la suppression du fichier de cibles TypeScript du projet a désactivé la compilation sur le projet Build.

Voici les étapes complètes nécessaires pour désactiver la compilation TypeScript dans VS (bien que les services de langage fonctionnent, continuez à refactoriser heureux, etc.):

  • Supprimez la référence au fichier TypeScript ".targets" du fichier projet.
  • Désactivez «Compiler automatiquement les fichiers TypeScript qui ne font pas partie d'un projet» dans les options Visual Studio TypeScript.

La deuxième étape est une sorte de bogue (ou du moins le dialogue n'est pas étiqueté de manière strictement précise); Même si vos fichiers TypeScript font "partie" d'un projet, si vous désactivez le fichier cible, Visual Studio 2013 les traitera comme s'ils ne faisaient pas partie d'un projet et compilera lors de l'enregistrement (si l'option globale n'est pas définie). Je n'ai pas pu obtenir <TypeScriptEnabled/> pour faire quoi que ce soit.

Merci @mhegazy - ce serait génial si cela pouvait faire partie de la boîte de dialogue d'options TypeScript, mais au moins c'est assez facile à prendre en charge via l'édition de projet.

une chose délicate, c'est que <TypeScriptEnabled>false</TypeScriptEnabled> doit être à la fin de votre fichier spécifiquement après l'importation vers les cibles. car les cibles le définissent de toute façon et vous souhaitez le remplacer.

une chose délicate, c'estfaux doit être à la fin de votre fichier spécifiquement après l'importation vers les cibles. car les cibles le définissent de toute façon et vous souhaitez le remplacer.

Vous avez tout à fait raison! C'était le truc.

Je pense que cela résout le problème. Merci, @mhegazy .

Salut @mhegazy - désolé de vous déranger. Êtes-vous certain que <TypeScriptEnabled>false</TypeScriptEnabled> fonctionne dans VS 2013 avec TypeScript 1.4 installé? Je viens de mettre à niveau mon PC actuel de VS 2013 avec TS 1.3 (directement VS 2013 Update 4) vers VS 2013 avec TS 1.4, et maintenant Visual Studio essaie à nouveau de créer le TypeScript "sur build" (ce qui signifie que les erreurs qui apparaissent ont : "devant eux), même si les cinq dernières lignes de mes projets sont comme ci-dessous:

  <Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\TypeScript\Microsoft.TypeScript.targets" Condition="Exists('$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\TypeScript\Microsoft.TypeScript.targets')" />
  <PropertyGroup>
    <TypeScriptEnabled>false</TypeScriptEnabled>
  </PropertyGroup>
</Project>

Cela fonctionnait correctement sur cette machine plus tôt dans la journée (quand j'ai fermé ce ticket), mais maintenant que je mets 1.4 ici, le Build from VS me donne des erreurs. La mise en commentaire de la référence au fichier cible (et la désactivation de "compiler lors de l'enregistrement" pour TypeScript pas dans un projet) la désactive toujours.

J'ai 1,4 à la maison et je ne pouvais pas du tout faire travailler <TypeScriptEnabled>false</TypeScriptEnabled> là-bas - je me demande s'il y a eu une régression sur cette option de construction?

<TypeScriptEnabled>false</TypeScriptEnabled> n'a rien à voir avec la construction. il s'agit de traiter vos fichiers dans le cadre d'un projet ou non.

si vous ne souhaitez pas utiliser la version F5, supprimez la référence aux cibles.

C'était la réponse courte, voici la version longue:

Le fichier projet est utilisé pour deux choses:

  1. build, il s'agit de votre support MSBuild normal, où les cibles appellent des tâches, et le système trouve les entrées, les cibles correspondantes et les exécute dans l'ordre. donc tout ce que cela fait est d'agréger tous les éléments TypeScriptCompile dans le projet, de les transmettre à tsc.exe avec certaines options.
    En outre, les pages de propriétés de projet sont dérivées de votre fichier de projet et sont simplement une interface utilisateur sur les propriétés MSBuild.
  2. service de langue, ceci votre complétion, aide à la signature, erreurs dans VS, compilation lors de la sauvegarde .. etc. nous voulons que ceux-ci fonctionnent de la même manière que votre construction normale fonctionne, nous recherchons donc les mêmes propriétés que vous définissez pour la construction, et nous Comportement LS. Par exemple, si votre cible est définie sur ES3 dans votre fichier de projet ( <TypeScriptTarget>ES3</TypeScriptTarget> ), votre service linguistique vous donnera un gribouillage rouge si vous définissez un get / set dans une classe.
    Cela vous permet d'utiliser un ensemble d'options pour le comportement de génération et de conception.
    Pour que cela fonctionne, les cibles indiquent au service de langage qu'il connaît le typographie en définissant une propriété <TypeScriptEnabled>true</TypeScriptEnabled> .

Si vous ne voulez pas que la compilation dans VS fonctionne, supprimez simplement les cibles. cela désactivera la construction, mais indiquera également au LS que ce projet n'est pas un projet TypeScript. et il traitera alors tous les fichiers comme des "fichiers en vrac". si cela vous convient, aucun travail supplémentaire n'est nécessaire. si vous voulez changer cela et lui faire continuer à utiliser les propriétés de votre fichier de projet, et ne pas inclure d'autres fichiers ouverts dans votre projet, etc. alors ajoutez <TypeScriptEnabled>true</TypeScriptEnabled> à votre fichier, et le LS le traitera en conséquence .

Si vous voulez que la construction fonctionne dans VS, mais que le LS ne la traite pas comme un projet, définissez l'indicateur sur false.

Merci. Ce sont d'excellentes informations et tout semble fonctionner conformément à ce que vous avez décrit. Si j'ai supprimé le fichier .targets, mais que j'ai défini TypeScriptEnabled sur true, est-il prévu que l'onglet Génération TypeScript disparaisse des propriétés du projet?

  <!--
  <Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\TypeScript\Microsoft.TypeScript.targets" Condition="Exists('$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\TypeScript\Microsoft.TypeScript.targets')" />
  -->
  <PropertyGroup>
    <TypeScriptEnabled>true</TypeScriptEnabled>
  </PropertyGroup>
</Project>

Si tel est le cas, cela semble étrange car cela signifie qu'il n'y aurait aucun moyen de contrôler les paramètres qui étaient accessibles dans l'interface utilisateur sans réactiver la cible, puis en utilisant l'interface utilisateur (ou de manière plus réaliste, simplement en éditant les paramètres du projet TS directement à ce stade depuis vous êtes là-dedans de toute façon).

La raison pour laquelle je demande tout cela est que j'ai écrit une bibliothèque npm il y a quelques semaines pour lire les propriétés de construction TypeScript à partir d'un .csproj et .vbproj (https://www.npmjs.com/package/csproj2ts) que je m'intègre actuellement dans grunt-ts. Quand il sera prêt, il y aura un moyen simple de "lancer tsc sur un fichier .csproj" (comme demandé ici: https://github.com/Microsoft/TypeScript/issues/1702). Je veux être en mesure de dire aux gens la meilleure façon de configurer leur projet pour utiliser le service de langage VS TypeScript pour leur expérience de codage, mais d'utiliser entièrement grunt-ts pour la construction. J'espérais qu'il serait possible de laisser les gens utiliser l'interface utilisateur pour configurer les propriétés TypeScript dans ce scénario, mais peut-être que ce ne sera pas le cas.

Connaissez-vous un moyen d'afficher l'onglet Génération TypeScript avec le fichier TypeScript .targets désactivé?

De plus, il semble que même si je fais quelque chose comme ceci: <Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\TypeScript\Microsoft.TypeScript.targets" Condition=" '$(Configuration)' == 'Debug' " /> , je dois définir la configuration du projet sur Debug puis recharger pour que l'onglet TypeScript Build apparaisse.

Désolé, @mhegazy - Je promets que je ne vous trolle pas !!

est-il prévu que l'onglet Construction de TypeScript disparaisse des propriétés du projet?

oui, les pages de propriétés sont câblées dans les cibles, donc les supprimer supprime l'interface utilisateur, vous devrez éditer manuellement le fichier

La raison pour laquelle je demande tout cela est que j'ai écrit une bibliothèque npm il y a quelques semaines pour lire les propriétés de construction TypeScript à partir d'un .csproj et .vbproj (https://www.npmjs.com/package/csproj2ts) que je m'intègre actuellement dans grunt-ts.

Le scénario que vous essayez de réaliser est faisable, mais il aura des aspérités et vous devrez pirater quelques endroits pour le faire fonctionner. @paulvanbrenk ajoute actuellement la prise en charge de tsconfig dans VS, cela permet aux pages de propriétés du projet d'utiliser le fichier tsconfig s'il y était. Nous travaillons également à une meilleure intégration dans les projets ASP.net 5 , qui, je pense, feront tout ce que vous voulez, à savoir 1. la prise en charge de grubt / bower, 2. une vue basée sur le système de fichiers, 3. utiliser tsconfig pour gérer les propriétés du projet, et 4. interaction simple avec d'autres éditeurs / IDE. Je pense que cela fonctionnera bien avec le scénario que vous décrivez et que vous n'aurez pas à vous frayer un chemin. cela viendra dans la prochaine version, donc une certaine attente est impliquée :)

De plus, il semble que même si je fais quelque chose comme ça: , Je dois définir la configuration du projet sur Debug, puis recharger pour faire apparaître l'onglet TypeScript Build.

Les importations sont chargées lorsque le projet est chargé. donc dans cette importation vous dites chargé uniquement dans 'Configuration' 'Debug', changer la configuration ne force pas un rechargement.

Désolé, @mhegazy - Je promets que je ne vous trolle pas !!
: D pas de soucis. J'adore toujours recevoir des commentaires et j'espère que cela vous a aidé.

D'ACCORD. Vraiment, merci pour ces excellentes informations et cette discussion approfondie.

Juste pour le lancer là-bas à @paulvanbrenk - ce serait génial d'avoir une sorte de moyen même dans l'état futur avec le tsconfig pour avoir la possibilité de désactiver la construction VisualStudio TypeScript (ce qui signifie CTRL + SHIFT + B construit votre C # et etc, mais pas TypeScript) et utilisez un compilateur TypeScript externe tout en laissant la possibilité de définir les options TypeScript via l'interface graphique. Il y a de nombreuses raisons pour lesquelles l'utilisation d'un outil de compilation externe peut être très utile et pour le moment, on a l'impression que cela n'est vraiment pris en charge que par accident et avec quelques aspérités.

L'idée tsconfig est géniale, mais elle n'aide pas vraiment avec:

  • Utilisation d'une ancienne version de TypeScript
  • Utilisation de différentes versions de TypeScript sur différents projets sur le même ordinateur
  • Utilisation d'une version expérimentale de TypeScript (telle que la version de @fdecampredon qui prend en charge JSX)
  • Utilisation d'un outil de construction comme grunt-ts qui automatise la gestion des références et effectue d'autres tâches que TypeScript ne prend pas en charge
  • Etc.

Permettre aux utilisateurs de Visual Studio de choisir un système de compilateur TypeScript développé par la communauté tout en conservant la belle interface utilisateur dans Visual Studio serait génial (en particulier avec le joli module complémentaire Task Runner Explorer). J'espère que vous peserez les avantages significatifs pour la communauté que cela permettrait par rapport au temps qu'il vous faudrait pour coder une case à cocher qui dit «Désactiver TypeScript Build».

J'espère que vous peserez les avantages significatifs pour la communauté que cela permettrait par rapport au temps qu'il vous faudrait pour coder une case à cocher qui dit «Désactiver TypeScript Build».

C'est la partie où je suis confus. pour moi, cela supprime la référence des cibles dactylographiées, puis la remplace par vos cibles grognantes qui construiront les choses différemment. cela me semble étrange d'inclure un fichier .targets avec une condition qui lui dit de ne rien faire; pourquoi l'inclure en premier lieu? Je serais heureux d'aider à composer un fichier .targets qui remplace les cibles dactylographiées standard, celui-ci inclura la balise <TypeScriptEnabled>true</TypeScriptEnabled> et regardera VS comme s'il s'agissait de la valeur par défaut, mais il gérera la construction différemment.

Huh. J'aurais dû y penser - je pense que j'ai traité le fichier .targets comme cette chose immuable, mais bien sûr, c'est parfaitement logique. Je vais examiner le format de fichier des cibles et vous recontacterai.

un moyen simple de commencer est de copier le fichier cible Microsoft.TypeScript.Target, de supprimer les choses qui ne vous intéressent pas, par exemple d'appeler tsc, et d'ajouter des tâches pour appeler grunt, et de câbler dans la configuration, etc. puis de l'inclure dans votre projet.

Impressionnant! J'ai tout fait fonctionner dans une perspective minimaliste en définissant mon fichier .csproj avec les 4 lignes suivantes.

  <Import Project="$(ProjectDir)\custom.TypeScript.targets" />
  <PropertyGroup>
    <TypeScriptEnabled>true</TypeScriptEnabled>
  </PropertyGroup>

Et le fichier minimaliste custom.TypeScript.targets est le suivant:

<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
    <VsToolsPath Condition="'$(VsToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VsToolsPath>
  </PropertyGroup>
  <UsingTask TaskName="TypeScript.Tasks.VsTsc" AssemblyFile="$(VSToolsPath)\TypeScript\TypeScript.tasks.dll" />
  <PropertyGroup>
    <CfgPropertyPagesGuidsAddCSharp>{d4683cae-88c4-4b85-863d-ac8014f3ba36}</CfgPropertyPagesGuidsAddCSharp>
    <CfgPropertyPagesGuidsAddVB>{d4683cae-88c4-4b85-863d-ac8014f3ba36}</CfgPropertyPagesGuidsAddVB>
    <CfgPropertyPagesGuidsAddTypeScript>{d4683cae-88c4-4b85-863d-ac8014f3ba36}</CfgPropertyPagesGuidsAddTypeScript>
  </PropertyGroup>
  <ItemGroup>
    <ProjectCapability Include="TypeScript" />
  </ItemGroup>
</Project>

J'ai essayé de mettre la balise <TypeScriptEnabled /> dans le fichier des cibles, mais cela ne fonctionnait pas (VS traitait les fichiers .ts comme lâches). Une idée pourquoi c'est? (Je suis sûr que pour quelqu'un qui connaît MSBuild, c'est évident - peut-être une sorte de problème de portée?).

Je pense que cela résout mon problème à ce stade. Je peux exécuter ma tâche Grunt en utilisant l'extension Task Runner Explorer qui peut lancer des tâches Grunt ou Gulp lorsqu'un VS Build est déclenché. La construction montre maintenant toujours qu'elle a réussi quel que soit le résultat de la compilation TypeScript, mais c'est très bien puisque l'utilisateur peut voir la sortie de grunt-ts dans la fenêtre TRX. Le panneau "TypeScript Build" apparaît dans la fenêtre des propriétés du projet. Compiler lors de l'enregistrement fonctionne si cette option est sélectionnée. La compilation s'affiche toujours comme un échec si le code C # ou VB ne se compile pas correctement (une bonne chose). La configuration pour obtenir ici à partir d'un projet Web Visual Studio "Application HTML avec TypeScript" ou ASP.NET par défaut est assez simple.

Pouvez-vous voir un problème avec nous distribuant le fichier minimaliste .targets ci-dessus avec grunt-ts? Cela signifierait que nous n'aurions qu'à dire aux gens de mettre à jour la ligne .targets de leur projet en <Import Project="$(ProjectDir)\node_modules\grunt-ts\custom.TypeScript.targets" /> et de définir <TypeScriptEnabled> .

Merci encore!!

J'ai essayé de mettre le tag dans le fichier de cibles, mais cela ne fonctionnait pas (VS traitait les fichiers .ts comme lâches). Une idée pourquoi c'est? (Je suis sûr que pour quelqu'un qui connaît MSBuild, c'est évident - peut-être une sorte de problème de portée?).

cela est étrange. c'est ainsi que nous l'avons dans nos objectifs, et cela fonctionne très bien. incluez-vous d'autres cibles qui ont la propriété? des conditions? je l'ai essayé dans un nouveau projet ts, supprimé les Microsoft.TypeScript.targets, et mis le vôtre, et ajoutévrai et cela a fonctionné.

Pouvez-vous voir un problème avec nous distribuant le fichier minimaliste .targets ci-dessus avec grunt-ts? Cela signifierait que nous n'aurions qu'à dire aux gens de mettre à jour la ligne .targets de leur projet en Et mettre.

Je pense que c'est la bonne voie à suivre. j'essaierais juste d'obtenir le TypeScriptEnabled là aussi. dites-moi comment je peux aider à diagnostiquer le problème

quelques notes, vous n'avez pas besoin de la référence tasks.dll ni de la définition VsToolsPath, sauf si vous en avez besoin pour autre chose.

Je vois le comportement que vous avez prédit sur mon ordinateur personnel. Cela fonctionnait également sans la référence à la DLL. J'ai dû faire une sorte d'erreur avant, alors je vais essayer à nouveau demain. Je pense que c'est vraiment génial! Merci, Mohamed. Cela devrait être publié dans le cadre de grunt-ts dans les prochains jours.

une chose qui pourrait en être la cause est que les fichiers cibles ne sont chargés qu'une seule fois dans VS. Par conséquent, si vous modifiez les cibles, les modifications ne seront pas reflétées dans votre projet tant que vous ne redémarrerez pas VS.

Cela aurait pu être ça; J'étais juste en train de décharger / recharger le projet. Il est possible que j'ai redémarré VS à la maison. Je vais en prendre note dans la documentation.

@mhegazy Merci pour toute votre aide. Nous avons publié grunt-ts 4.0.0 qui contient la fonctionnalité «compiler à partir du projet Visual Studio»:

https://github.com/TypeStrong/grunt-ts#vs

Instructions pour désactiver la construction VS:

https://github.com/TypeStrong/grunt-ts/blob/master/docs/DisableVisualStudioBuild.md

Très cool! J'adore les scénarios que cela permet.

Merci, Ryan. Je suis assez content de la façon dont cela s'est passé. Lorsque tsconfig arrive, cela peut être moins nécessaire, mais cela comblera le vide jusque-là et bien sûr, il est compatible avec les versions de compilateur TypeScript antérieures à 1.5.

PS: Il y a eu deux rapports de bogues aujourd'hui, donc nous devrions pousser un 4.0.1 ce soir en supposant que je puisse les corriger.

Juste pour info, dans VS2015 RTM, il existe un moyen plus simple de désactiver TypeScriptCompile:
Ajoutez simplement <TypeScriptCompileBlocked>true</TypeScriptCompileBlocked> au .csproj , par exemple dans le premier <PropertyGroup> .

Merci.

Cette page vous a été utile?
0 / 5 - 0 notes

Questions connexes

blendsdk picture blendsdk  ·  3Commentaires

MartynasZilinskas picture MartynasZilinskas  ·  3Commentaires

CyrusNajmabadi picture CyrusNajmabadi  ·  3Commentaires

wmaurer picture wmaurer  ·  3Commentaires

jbondc picture jbondc  ·  3Commentaires