7

Professional 2010 Visual Studio chaque fois que je tapez:Visual Studio Professional 2010: Stop "nouvelle {" de autocompleting dans "nouvel objet {" (C#)

new { 

Il change automatiquement:

new object { 

Y at-il un moyen de le faire ne pas le faire? "Objet" n'a pas les propriétés de l'objet que je veux créer de façon anonyme.

+0

Quel est le premier bloc à l'intérieur? Lorsque je fais cela dans une requête LINQ, je ne l'ai pas complétée automatiquement, par exemple. –

+0

Il semble se passer dans l'éditeur de vue ASP.NET MVC pour moi. –

+0

Maintenant, il est dans une page ASPX: <% = Html.ActionLink ("Blah", "Blah", nouveau {id = 1})%> Bien que j'ai également connu ce problème dans divers autres endroits. – KPthunder

Répondre

3

Vous pouvez désactiver IntelliSense lorsque vous saisissez le support.

Sur le Outils menu sélectionnez Options. Ensuite, sur le côté droit, développez Editeur de texte puis C# puis IntelliSense. Retirez le { de la zone de texte sous la Engagé en tapant les caractères suivants:

Vous pouvez également décocher la Engagé en appuyant sur la barre d'espace ou prendre l'habitude d'écrire new{ et se fondant sur la mise en forme automatique lorsque vous fermez le support (bien que je n'ai jamais fait de trucs ASPX donc je ne sais pas comment le formatage automatique est comparé à un fichier de code normal.)

+0

Cela affecte-t-il l'une des autres fonctionnalités de saisie semi-automatique? –

+0

Cela devrait marcher plus ou moins de la même manière, mais vous devrez appuyer sur tab au lieu de ** {**. Le ** Committed en appuyant sur la barre d'espace ** serait un très gros bouleversement pour moi alors je laisserais celui-ci vérifié, juste inclus dans la réponse pour l'exhaustivité. – Samuel

4

https://connect.microsoft.com/VisualStudio/feedback/details/584429/autocomplete-on-new-is-interpreted-as-a-new-function-instead-of-anonymous-class

Je suis sûr que c'est un bug, alors je suis allé de l'avant et l'a signalé. Était de le faire tôt ou tard de toute façon :)

J'espère que ça va avec vous.

+0

J'ai toujours supposé que c'est un bug aussi. – bkaid

+0

Etrange, je pensais que c'était quelque chose de stupide que je devais activer - comme les numéros de ligne. Parlant des numéros de ligne, pourquoi sont-ils désactivés par défaut? – KPthunder

+0

@Rei Le deuxième cas que vous avez décrit (nouveau Func) est correct ... vous n'avez pas déclaré les paramètres d'entrée au lambda, donc intellisense est toujours en mode "locate delegate", pas en mode "composer lambda body". –

0

Je viens de saisir l'habitude de taper "Nouveau{}". Intellisense ne démarre pas alors. Et puisque je reformate toujours la page de toute façon avec crtl-k; crtl-d, il l'espace correctement plus tard.

Questions connexes