Pourquoi ne pas Visual Studio de formatage de code fonctionne correctement pour Rasoir de balisage?
Ou, devrais-je plutôt se demander, quand VS de formatage de code fonctionne correctement pour Rasoir de balisage? La mise en forme qui fonctionne pour la plupart des structures, mais il semble s'étouffer " si " blocs. Le code ci-dessous est ce qu'il est formaté par VS. Il est très facile à fixer ce cas, avec une plus tiret, mais j'ai bien accepté la mise en forme dans l'usage quotidien, et aiment à l'utiliser souvent pour la majeure partie de mon code, donc je préfère éviter un formatage manuel si possible. Droit maintenant, j'ai juste le laisser comme VS le formate.
@{
if (User.Identity.IsAuthenticated)
{
<text>Hello </text>
@Html.Display("@ViewBag.UserName") <text> - </text>
@Html.ActionLink("Sign Out", "LogOff", "Account", null, new { style = "font-weight: bold;" })
}
}
Je pense que c'est important pour des raisons de lisibilité que, par exemple, dans le ci-dessus, le corps de la si le bloc est en retrait, en plus il suffit de regarder de plus agréable.
- Vous pouvez utiliser connect.microsoft.com pour ce rapport.
- Quelqu'un sait si ca a été corrigé dans Visual Studio 11?
- Je vois un peu d'endroits sur connect.microsoft.com où cela a déjà été signalé (plus de deux ans). Un Microsoft réponse a été qu'ils ne sera pas le fixer.
- Merci de voter sur cette Voix Utilisateur bug: visualstudio.uservoice.com/forums/121579-visual-studio/...
- Semble résolu dans vs 2015 mise à jour 3.
- Non, il n'est pas résolu dans la mise à Jour 3, j'ai toujours ce problème et je suis sur 2015, avec la mise à Jour 3. Pour moi Intellisense est complètement pillée, même en dehors des aides. C'est tellement ennuyeux que je vais faire le plein basculer .Net de Base quand je peux et utiliser le Projet Rider (JetBrains).....
- 4 Ans et c'est TOUJOURS un problème... 😮
- Maintenant 6 ans et toujours un problème dans VS2017...
- D'une certaine façon toujours un problème, c'est affreux.
- Maintenant près de 8 ans et toujours un problème dans VS2019...
Vous devez vous connecter pour publier un commentaire.
Assurez-vous de régler l'éditeur d'utiliser des caractères d'espace et de ne pas les onglets. L'éditeur semble perdre complètement son esprit quand les onglets sont utilisés. C'est une honte parce que tous ces caractères d'espace à la fin dans le code HTML réel de sortie, ce qui augmente considérablement le transfert de données de taille.
Ce que j'ai à faire est de compléter manuellement la mise en forme automatique en cours de frappe. Pas l'idéal, mais j'espère que Microsoft va avoir ce compris pour le prochain service pack.
greatly increasing the data transfer size
vous avez désactivé le serveur de compression? Sinon, c'est extrêmement nominale....J'en ai trouvé une "solution" qui vous permet de continuer à utiliser l'onglet retraits et l'ont mise en forme correcte. C'est plus d'un motif. La clé est d'utiliser de rasoir blocs de code au lieu de code en ligne.
Ainsi, par exemple, remplacer les suivantes:
avec:
Ce dernier va formater correctement, mais l'ancien ne sera pas.
Gardez à l'esprit, le formatage n'est pas parfait, mais c'est mieux qu'avant.
@{ if(something) { // regular c# comments too... } }
Il ne fonctionne pas correctement dans tous les cas, parce que c'est un problème difficile à résoudre. Essentiellement, vous avez 3 éditeurs différents (HTML, C#, et Rasoir) tous en interaction dans le même tampon texte. Il y a certains cas (comme celui-ci) où les interactions ont des bugs. Mais nous travaillons sur l'amélioration de l'éditeur pour la prochaine version de Rasoir.
Une meilleure alternative ici(plutôt que d'utiliser des espaces pour les onglets), est de changer le bloc de mise en retrait pour le HTML et C#/VB pour "Bloquer" au lieu de "Smart". Ce n'est pas une solution complète, mais l'OMI est beaucoup moins pénible travail que d'utiliser les espaces!
J'ai trouvé une autre solution pour ce. Il suffit de sélectionner tout le code dans le fichier, cliquez sur Maj + tab pour supprimer tous les onglets avant le code, le copier et le coller. Visual studio automatiquement le code de format. Travail sur VS 2013 .cshtml fichier
Dans mon cas, c'était resharper primordial options de mise en forme.
Si votre utilisation de redimensionnement et de l'obtention de ce problème essayez ceci...
Resharper >> Options >> Rasoir >> Éditeur & mise en forme >> Décocher la case “Automatique du format d'entrée”
Je sais que c'est pas vraiment la réponse que vous cherchez, mais j'ai utilisé WriteLiteral pour obtenir autour de mes problèmes de mise en forme.
Par exemple, quand j'écris:
Visual Studio essaye de le modifier:
Qui provoque la page de lever une erreur.
Si vous utilisez WriteLiteral vous pouvez tromper le formateur en ignorant la ligne, mais ce n'est pas joli:
Droit maintenant, je suis sur VS2013 ASP.NET MVC 5 et j'ai encore ce problème. Ce que j'ai trouvé pour être beaucoup utile est de mettre la première expression sur la même ligne où l'ouverture du bloc de symbole est (
@{
). De cette façon, rasoir de formatage de code produit un bien meilleur résultat. Voici l'avant et l'après de cas:AVANT
APRÈS
Je travaille avec VS2017 15.9.2 et toujours le problème.
Après avoir modifier les paramètres de l'éditeur à utiliser des espaces à la place des onglets, le comportement dans l'édition (par exemple, copier - coller les lignes de code) est bien mieux, mais "Format de Document" encore rajouter le mal tirets par chaque appel.
Pas de solution, mais une brève mise à jour:
Il me semble que la question est résolu partielle dans Visual Studio 2019 version 16.0 Aperçu 2.1
Lien vers MS pour la question
Je vous recommande d'éviter la mise en forme automatique pour déclencher en commentant le morceau de code où vous le collez. De cette façon, les choses ne sont pas abîmés sur la pâte.