2 votes

Masquer .js et .js.map dérivés des fichiers tsx dans Visual Studio 2017

Dans VS Code, vous pouvez faire quelque chose comme ceci :

{
    "files.exclude": {
        "**/*.js.map": {"when": "$(basename).js"},
        "**/*.js": {"when": "$(basename).ts"},
        "**/**/*.js": {"when": "$(basename).tsx"}
    }
}

pour masquer les fichiers *.js.map lorsqu'un fichier équivalent *.js existe et masquer tous les fichiers *.js lorsqu'un fichier équivalent *.ts ou *.tsx existe.

Il semble par défaut que les fichiers *.js.map sont imbriqués sous les fichiers *.js et que les fichiers *.js sont imbriqués sous les fichiers *.ts mais pas sous les fichiers *.tsx.

J'ai essayé de reproduire ceci en utilisant MSBuild dans le csproj, mais je n'ai pas beaucoup de chance, j'ai essayé :

Mais cela ne semble pas faire de différence. Y a-t-il un moyen de faire en sorte que VS masque les fichiers *.js et *.js.map qui sont générés à partir des fichiers *.tsx ?

1voto

Meberem Points 477

Comme mentionné dans les commentaires, j'ai trouvé un moyen de contourner cela, donc pas tout à fait en répondant à la question. J'ai configuré mon outil de construction (webpack) pour compiler les fichiers typescript sans produire de sortie intermédiaire (c'est-à-dire .js ou .jsx)

J'ai un exemple de référentiel qui démontre comment cela peut être réalisé.

0voto

Martin Ullrich Points 5894

Cela peut être accompli via des définitions msbuild, bien que j'aie eu des problèmes parce que le système de projet tente de supprimer/ajouter ces définitions. Cependant, mettre ceci à l'intérieur d'un fichier Directory.Build.targets à côté ou dans la hiérarchie de répertoires au-dessus de votre projet devrait accomplir ce que vous voulez :

    <_TsxFile Include="**\*.tsx" />

Produit ce résultat dans VS :

entrer la description de l'image ici

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X