34 votes

Comment modifier les paramètres de formatage automatique .ASPX (Visual Studio)

Lors de la saisie d'un code dans un .aspx fichier (fichier MVC vue dans ce cas), Visual Studio s'applique à deux types de mise en forme, un régulier de la balise html structure (qui peut être contrôlé à partir des Outils->Options->les Éditeurs de Texte->Html) et un autre pour le contenu à l'intérieur de la <% %> balises.

J'ai couru en deux ennuis avec le deuxième type de mise en forme automatique, le <% %> mise en forme du contenu.

La première est de savoir comment l'ajout de nouvelles lignes de blocs de déclaration:

Si je tape ceci:

<% if(condition) { %>
    ...
<% } %>

Il est autocorrected à ceci:

<% if(condition) 
   { %>
    ...
<% } %>

Alors que la correction est bien si c'était une .cs fichier, pour le tag de la soupe qui est .fichiers aspx les premiers que je trouve beaucoup plus lisible. Est-il un moyen de désactiver ce comportement, sans affecter la mise en forme de .fichiers cs?

Deuxièmement, chaque fois que j'écris quelque chose comme ceci:

<%=Html.ActionLink("Report","ListItems") %>

Je ne peux pas trouver un moyen de le faire automatiquement le format dans cette (ajouter un espacement cas échéant):

<%=Html.ActionLink("Report", "ListItems") %>

Dans le code, vous devez normalement un ; ou } pour signaler que vous avez fait une ligne ou d'une section de code, de sorte que Visual Studio, vous pouvez le formater. Est-il un moyen de donner ce signal de <%= type d'expression?

PRÉCISIONS

Cette question est au sujet de la mise en forme de code à l'intérieur <% %> les balises sans affecter la mise en forme régulière des fichiers source C# . Il est dit dans le premier paragraphe que je suis totalement conscient des Éditeurs de Texte du menu.

4voto

Jeroen Points 116

Le menu Editeurs de texte est tout ce qu'il y a et il ne vous permet pas de faire ce que vous voulez. Lorsque vous cliquez avec le bouton droit sur une page aspx, cliquez sur "Formatage et validation ...", puis sur le bouton "Options spécifiques aux balises ..." pour obtenir un ensemble de paramètres par balise client ou serveur, mais pas pour la balise. <% - tags.

En ce qui concerne la deuxième partie de votre question, Ctrl-E, D formate votre document, mais n'insère pas l'espacement souhaité.

2voto

Eibx Points 1198

Vous pouvez changer le formatage automatique dans ce menu:
Outils -> Options -> Editeur de texte

Vous pouvez par exemple modifier la nouvelle ligne de l'instruction if, sous:
C #
- Mise en page
- Nouvelles lignes
--- Placez l'accolade ouverte sur la nouvelle ligne pour les blocs de contrôle

J'espère que cela t'aides.

2voto

Chad Ruppert Points 3073

À l'heure actuelle, la seule solution que je connaisse est d'écrire des macros à l'aide de regex et de les assigner à des accords faciles à utiliser. J'ai déjà répondu à une question où le formatage automatique changerait les accolades de fermeture en:

 <%
     }
     %>
 

Vous pouvez trouver cette réponse, y compris le code de la macro utilisée ici .

2voto

mike nelson Points 3819

Selon Microsoft, il s’agit d’un bogue dans Visual Studio qui vient d’être corrigé - bien que je n’aie pas encore vu le correctif, je ne peux pas confirmer qu’ils l’ont réellement. Cela semble peu probable après 10 ans, ils l'auraient soudainement réparée, mais on verra. Voir http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=514691.

-4voto

Gregory A Beamer Points 10975

Si vous n'avez jamais personnalisé votre environnement, je vous suggère de passer un peu de temps dans la boîte de dialogue Outils >> Options. Il y a beaucoup de choses intéressantes que vous pouvez faire pour personnaliser votre environnement, ainsi que pour modifier le comportement par défaut de Visual Studio.

Je n'ai pas essayé les nouvelles lignes sur une vue MVC, je ne suis donc pas complètement vendu, cela fonctionne, mais ce serait également l'endroit où j'essaierais en premier. Cela fonctionne dans un fichier C #, code derrière ou autrement.

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