Is de opmaak van C# gewijzigd in Visual Studio 2015? En hoe kan ik het terug veranderen?

In eerdere versies van Visual Studio kon ik een enkele regel auto-eigenschap in C# als volgt maken:

public int Whatever { get; set; }

Als ik op Control-K, Control-D druk om te formatteren, blijft de eigenschap zo.

Maar in Visual Studio 2015 RC, wanneer ik de eigenschap typ, wordt deze ingepakt, en zelfs als ik hem uitpak, wordt de opmaak opnieuw ingepakt:

public int Whatever
{ get; set; }

Ik heb het ook gemerkt bij constructeurs. In het verleden zag een lege constructor (bijvoorbeeld die zojuist een constructor van de basisklasse werd genoemd) er als volgt uit:

public Whatever(int stuff)
    : base(stuff) { }

Nu staat Visual Studio 2015 erop dit te doen:

public Whatever(int stuff)
    : base(stuff)
{ }

Hebben anderen dit opgemerkt? Is dit een wijziging in Visual Studio 2015? Zo ja, is er een manier om dit terug te veranderen? Ik heb de C#-opmaaksectie van Tools > Opties, maar kon geen nieuwe instelling vinden die dit zou kunnen beïnvloeden.

(Het is niet onmogelijk dat een van mijn add-ins dit veroorzaakt, maar ik heb geen duidelijke boosdoeners gevonden.)

(Waarom zou ik me er zelfs druk om maken? Want als ik de opdracht Samenvouwen tot definities gebruik, blijven de eigenschappen en constructors van één regel zoals ze zijn, terwijl ingepakte eigenschappen samenvouwen. Als ze zijn samengevouwen, weet ik niet hoe een blik dat ze leeg zijn; ik moet ze naar niet-samengevouwen schakelen om te zien dat er niets is.)


Antwoord 1, autoriteit 100%

Ga naar Extra > Opties > Teksteditor > C# > Opmaak > Inpakken

Vink “Laat blok op enkele regel” en “Laat verklaringen en lidverklaringen op dezelfde regel staan”

voer hier de afbeeldingsbeschrijving in


Antwoord 2, autoriteit 10%

Dit gedrag lijkt te zijn veranderd. Ga naar de Hulpmiddelen > menu Opties en navigeer vervolgens naar Teksteditor > C# > Opmaak > Inpakken.

Als u in eerdere versies van Visual Studio “Blok op één regel laten” had aangevinkt en “statements en liddeclaraties op dezelfde regel” niet had aangevinkt, zouden lege accolades op dezelfde regel blijven staan ​​als u ze daar zou plaatsen.

Maar als u in Visual Studio 2015 RC “Blok op één regel laten” hebt aangevinkt en “Uitspraken en lidverklaringen op dezelfde regel laten staan” niet aangevinkt, worden de lege accolades ingepakt.

U moet beide items hebben aangevinktom te voorkomen dat de accolades wikkelen. Maar dit heeft ook andere gevolgen, zoals het achterlaten van meerdere uitspraken op dezelfde regel…

int x = 5; int y = 3;

…daarom heb ik het nooit eerder laten controleren.

Other episodes