Unity: la boîte de dialogue «fin de ligne incohérente» s'affiche chaque fois que j'ouvre VS avec unité

10

Chaque fois que j'ouvre un fichier de script de l'unité avec Visual Studio, cette boîte de dialogue s'affiche sur la normalisation des fins de ligne? Qu'est-ce que ça veut dire? Je clique sur Oui à chaque fois mais je ne peux toujours pas m'en débarrasser. Cela ne se produit que lorsque j'ouvre un fichier à partir de l'unité.

entrez la description de l'image ici

Des marques
la source
5
Les fichiers de script et de modèle de shader par défaut d'Unity contiennent des terminaisons de ligne de style Unix / Mac (LF), mais Visual Studio sous Windows aime travailler avec le style Windows (CR LF). Il disparaît généralement une fois que vous avez normalisé chaque fichier et enregistré le résultat. Je continue de me dire que je vais entrer et éditer tous les modèles, donc je n'ai plus jamais besoin de m'occuper de ça, puis je continue de ne pas le faire ... [exposer une option pour] toujours se convertir automatiquement en mode silencieux. Les invites constantes sont vraiment ennuyeuses)
DMGregory
... ou passez au VS Code. Il existe même un plugin Unity Asset Store pour celui-ci: assetstore.unity.com/packages/tools/vscode-45320
Jasper Citi

Réponses:

5

Dans Visual Studio, vous pouvez désactiver cette vérification (et donc l'avertissement) en regardant Tools -> Optionsdedans, en naviguant jusqu'à la Environment -> Documentssection de l'arborescence et en décochant "Vérifier les fins de ligne cohérentes lors du chargement".

Cela supprime l'avertissement mais ne résout pas réellement le problème; les fichiers source auront toujours des fins de ligne incohérentes. Idéalement, vous devez résoudre ce problème en configurant tous les éditeurs que vous utilisez pour insérer le même type de fin de ligne, ou pour détecter automatiquement le style existant et le conserver. Malheureusement, tous les éditeurs de texte ne prennent pas en charge un tel comportement; VS, par exemple, n'a pas de valeur par défaut contrôlable (même si cela vous permettra de configurer le style utilisé sur une base par fichier File -> Advanced Save Options, mais c'est vraiment fastidieux).


la source
merci pour l'aide ... je pense que les développeurs de ces outils ne reçoivent pas beaucoup de plaintes à ce sujet, donc ils n'ont jamais corrigé un comportement aussi ennuyeux
Mark S
7

Fin de fichier (EOF) | Fin de ligne, fin de ligne (EOL)

Comme le mentionne Josh Petrie, vous pouvez résoudre le problème en modifiant les fins de ligne de chaque script que vous ouvrez. Tout d'abord, vous devez fermer le script dans Visual Studio. Accédez ensuite à Unity et double-cliquez dans le line ending warningmessage de la console Unity . Visual Studio ouvrira le script avec le manquant et une fenêtre de dialogue de fin de ligne s'affichera. Accédez à la section Fin de ligne et choisissez Windowsla plate-forme de système d'exploitation que vous utilisez. Maintenant, enregistrez le script et la prochaine fois que vous ouvrirez VS, le message n'apparaîtra pas pour ce script.

Visual Studio 2019

S'il ne fonctionne pas comme solution de contournement, vous pouvez forcer la normalisation à l'aide de

  • Édition> Avancé> Définir une nouvelle ligne> CRLF (pour Windows).

Cela remplacera tous les LF en CRLF.

MODÈLE PAR DÉFAUT

Lorsque vous créez un nouveau script, le modèle peut avoir une fin de ligne incorrecte. Donc, si vous modifiez le modèle Unity, chaque fois que vous créez un nouveau script, vous ne rencontrerez pas ce problème courant. Pour modifier le modèle par défaut, accédez à l'emplacement d'installation d'Unity et recherchez le dossier ScriptTemplates:

C: \ Program Files \ Unity ... Hub \ Editor \ 20xx.x ... Editor \ Data \ Resources \ ScriptTemplates

Sous Windows, le script de modèle par défaut peut être modifié en tant qu'administrateur ou en utilisant un mot de passe administrateur. Ouvrez maintenant ce modèle de script avec VS (fichier: 81-C # Script -...). Dans VS avec le script sélectionné, allez dans File -> Advanced Enregistrer les options, la fenêtre apparaîtra et choisissez Windowsle système d'exploitation de la plateforme que vous utilisez. Maintenant, enregistrez le script et la prochaine fois que vous créerez un nouveau script C # dans Unity, le message n'apparaîtra pas pour tous ces nouveaux scripts.

INSTALLATION de Strip'em pour VS 2010-2017

Maintenant, vous pouvez également tester si vous souhaitez que ces autres outils pour VS. Cette ancienne vidéo (à 10m32s) peut vous aider dans le processus, mais le reste de la vidéo est déjà obsolète. Attention, ne suivez pas ce tutoriel, ça ne marche plus. Il vous aide dans le processus d'utilisation de Strip'em (après 10m32s)

https://youtu.be/2PVPz8Pnnrw?t=10m32s

Pour activer Strip'em dans VS 2015, après l'installation, appuyez sur Tools > Strip'emet sélectionnez votre système d'exploitation. Strip'em dans VS Community 2017, il vous suffit de double-cliquer sur le programme d'installation et c'est tout.

http://www.grebulon.com/software/stripem.php

Alan Mattano
la source
1

À moins que vous ne soyez extrêmement attaché à Visual Studio, j'ai constaté que l'ouverture du fichier dans un autre éditeur de texte (comme Sublime ou VS Code) et la sauvegarde immédiatement corrigeait le problème. J'ai eu de mauvaises expériences avec Visual Studio dans le passé, et il est toujours extrêmement difficile de déboguer des erreurs d'édition étranges.

Joyce Lee
la source