tabs ↹ over ␣ ␣ ␣ spaces

by Jiří {x2} Činčura

WUG: Roslyn: Analyzátory kódu a code fixes (Zlín)

9 Feb 2016 1 mins C#, Presentations & Speaking, Roslyn, Visual Studio

Po Praze se na zoubek analyzátorům podíváme i ve Zlíně – 16.2.2016 od 17:30 na WUGu.

Update (Feb 2016)

Protože mám rád věci více interaktivní, tak zvláště na komunitní akce nedělám předpřipravená dema. Lépe se to pak přizpůsobí aktuálnímu stavu. No a včera jsem zaboha nemohl ukázat, jak (ne)použití WithAdditionalAnnotations(Formatter.Annotation) změní výsledek. Asi málokdy člověk chce, aby to nebylo zformátované. Ale já to v tu chvíli chtěl. No a kde byl háček? Když člověk neposkládá celý kód sám, ale použije metody, kde může některé “nezajímavé” parametry vypustit (jako třeba jasně očekávané závorky u bloku), odekorují se elementy implicitně. Protože proč jinak, že? Stačí porovnat otevírací a zavírací závorku v tomto případě (zkuste odkomentovat i WithAdditionalAnnotations).

SyntaxFactory.Block()
	.WithOpenBraceToken(
	    SyntaxFactory.Token(
	        SyntaxFactory.TriviaList(),
	        SyntaxKind.OpenBraceToken,
	        SyntaxFactory.TriviaList())/*.WithAdditionalAnnotations(Formatter.Annotation)*/)
	.WithCloseBraceToken(SyntaxFactory.Token(SyntaxKind.CloseBraceToken))

A nebo prostě s výsledkem tohoto.

SyntaxFactory.Block()

A případně se podívat na property ContainsAnnotations u závorek.

Profile Picture Jiří Činčura is .NET, C# and Firebird expert. He focuses on data and business layers, language constructs, parallelism, databases and performance. For almost two decades he contributes to open-source, i.e. FirebirdClient. He works as a senior software engineer for Microsoft. Frequent speaker and blogger at www.tabsoverspaces.com.