web-dev-qa-db-fra.com

Comment définir le codage standard dans Visual Studio

Je cherche un moyen de configurer Visual Studio pour qu'il enregistre toujours mes fichiers au format UTF-8.

J'ai uniquement trouvé des options pour définir ce projet à l'échelle. Existe-t-il un moyen de le définir à l'échelle de Visual Studio?

64
Thomaschaaf

Voulez-vous que les fichiers soient enregistrés au format UTF-8, car vous utilisez des caractères spéciaux qui seraient perdus dans le codage ASCII? Si tel est le cas, il existe un paramètre global VS2008 dans Tools > Options > Environment > Documents, nommé Save documents as Unicode when data cannot be saved in codepage. Lorsque cette option est activée, VS2008 sera enregistré en tant que Unicode si certains caractères ne peuvent pas être représentés dans la page de codes par défaut.

De plus, quels fichiers sont non en cours d’enregistrement au format UTF-8? Tous mes fichiers .cs, .csproj, .sln, .config, .as * x, etc., sont tous enregistrés au format UTF-8 (avec la signature, les marques d'ordre des octets), par défaut.

57
Samuel Meacham

Quoi

C'est possible avec EditorConfig

EditorConfig aide les développeurs à définir et à maintenir un codage cohérent styles entre différents éditeurs et IDE.

Cela inclut également le codage de fichier.

EditorConfig est intégré à Visual Studio 2017 par défaut. De plus, des plug-ins étaient disponibles pour des versions aussi anciennes que VS2012. En savoir plus sur Page Plugin EditorConfig Visual Studio .

Comment

Vous pouvez configurer un fichier de configuration EditorConfig suffisamment haut dans votre structure de dossiers pour couvrir tous vos dépôts prévus (jusqu'à la racine de votre lecteur si vos fichiers sont vraiment éparpillés partout) et configurer le paramètre charset :

charset: réglé sur latin1, utf-8, utf-8-bom, utf-16be ou utf-16le à contrôler le jeu de caractères.

Vous pouvez ajouter des filtres et des exceptions, etc. à chaque niveau de dossier ou par nom/type de fichier si vous souhaitez un contrôle plus précis.

Une fois configurés, les IDE compatibles devraient automatiquement faire en sorte que les fichiers correspondants soient conformes aux règles. Notez que Visual Studio ne convertit pas automatiquement tous vos fichiers mais fait son travail lorsque vous travaillez avec des fichiers dans IDE (ouvrir et enregistrer). 

Quoi ensuite

Bien que vous puissiez avoir une configuration à l’échelle de Visual-studio, je suggère fortement d’inclure tout de même une racine EditorConfig dans le contrôle de version de votre solution, afin que les paramètres explicites soient également automatiquement synchronisés avec tous les membres de l’équipe. Le fichier editorconfig de votre racine de lecteur peut constituer la solution de secours si certains projets ne disposent pas encore de leurs propres fichiers editorconfig.

5
Imre Pühvel

Je ne connais pas non plus de paramètre global, mais vous pouvez essayer ceci:

  1. Enregistrer tous les modèles Visual Studio au format UTF-8 
  2. Écrivez une macro/un complément Visual Studio qui écoutera l'événement DocumentSaved et enregistrera le fichier au format UTF-8 (si ce n'est déjà fait).
  3. Placez un proxy sur votre contrôle source pour vous assurer que les nouveaux fichiers sont toujours au format UTF-8.
1
Shay Erlichmen

Je travaille avec Windows7.

Panneau de configuration - Région et langue - Administration - Langue pour les programmes non Unicode.

Après avoir défini "Modifier les paramètres régionaux du système" sur Anglais (États-Unis). Mon encodage par défaut de vs2010 passe à Windows-1252. C'était gb2312 avant.

J'ai créé un nouveau fichier .cpp pour un projet C++, après avoir archivé le nouveau fichier dans TFS, l'encodage indique Windows-1252 à partir de la page de propriétés du fichier.

0
user10959888