Dans VS2015, il est possible d'"ignorer l'espace blanc" lorsque l'on compare le fait de cliquer sur une petite icône avec la touche =
symbole.
Allez dans "View/Toolbars/Compare Files". Dans la barre d'outils, cliquez sur "Ignore trim whitespace".
Mise à jour 2020 nous avons eu beaucoup de mal à résoudre les conflits entre l'outil de comparaison VS et l'outil SVN Tortoise, donc après une recherche nous avons décidé d'installer Comparaison des codes Devart (version gratuite) qui a une intégration avec VS2015/2017/2019, SVN (Tortoise et Ankh), TFS, Mercurial, GIT, etc. et l'Explorateur Windows, donc plus de cauchemar/confusion entre différents outils de comparaison. Essayez-le, il est extrêmement utile. Il dispose également de Merge pour résoudre les conflits et de Folder diff, ce qui est vraiment utile lorsque SVN ne fusionne pas pour une raison quelconque. De plus, cliquer sur les flèches gauche/droite pour copier les modifications est une fonctionnalité que j'aime beaucoup.
L'image VS ci-dessous provient du site web Devart, mais dans mon cas, j'ai configuré Code Compare pour l'ouvrir en dehors de VS au lieu de l'intégrer, je pense qu'elle se comporte mieux. Et dans VS Options > Source Control > Subversion Environment
j'ai ceci :
4 votes
Vous devez être très prudent avec cette option car l'outil de fusion TFS ne peut pas faire la différence entre les espaces blancs dans le code et les espaces blancs dans une chaîne littérale. Une bien meilleure solution consiste à faire en sorte que toute l'équipe utilise les mêmes normes pour les espaces blancs dans le code.
5 votes
@Keith : La question de la littéralité est pratique à savoir - je ne l'avais pas remarqué. Cependant, les normes d'équipe ne sont pas toujours le problème. Si j'enveloppe un bloc de code dans une condition, il s'indentera automatiquement en provoquant des espaces blancs devant chaque ligne. Je ne veux vraiment voir que les déclarations If/End mises en évidence en tant que modifications, pas tout le bloc entre les deux.
1 votes
Je voudrais le contraire - tout ce qui se trouve dans le bloc est mis en évidence. Plus important encore, cela n'affecte pas seulement la mise en évidence de l'interface utilisateur, cela change également la façon dont l'outil effectue les fusions. Supposons que vous fusionnez avec la modification de quelqu'un - une autre
If
qui chevauche votreIf
bloc. Si vous ignorez les espaces blancs, vous obtiendrez une fusion "sûre" (4 changements d'une seule ligne), alors que si vous ne le faites pas, vous obtiendrez un conflit à résoudre manuellement (2 blocs se chevauchant). Le pire, c'est que si vous choisissez la première solution, le code sera toujours compilé (il s'agit maintenant d'un code de typeIf
) donc il ne sera pas évident que la fusion corrompue a gâché vos deux modifications.1 votes
Je suis en 2012 et je n'arrive pas à comprendre comment faire pour que cela fonctionne (diffmerge n'existe pas, je pense qu'ils utilisent un nouvel outil). Je passe à WinMerge, mais je serais intéressé si quelqu'un arrive à faire fonctionner cette fonction en ayant la possibilité d'utiliser les nouveaux outils améliorés de 2012.