18
Diagnostični analizatorji v Visual Studiu 2015 Damir Arh

Diagnostic Analyzers in Visual Studio 2015

Embed Size (px)

Citation preview

Page 1: Diagnostic Analyzers in Visual Studio 2015

Diagnostični analizatorji v Visual Studiu 2015Damir Arh

Page 2: Diagnostic Analyzers in Visual Studio 2015

Diagnostični analizator?

Kako?

Zakaj?

Page 3: Diagnostic Analyzers in Visual Studio 2015

.NET Compiler Platform

Formatter

Colorizer

Outlining

Navigate To

Object Browser

Completion List

Find

All Reference

s

Rename

Quick Info

Signature Help

Extract

Method

Go To Definition

Edit

and

Continue

Syntax Tree API Symbol API Binding and Analysis API Emit API

ParserSymbols

Binder IL EmitterMetadata

Import

Language Service

Compiler API

Compiler Pipeline

Page 4: Diagnostic Analyzers in Visual Studio 2015

Kaj?

Page 5: Diagnostic Analyzers in Visual Studio 2015

FxCop Analyzers

Page 6: Diagnostic Analyzers in Visual Studio 2015

Načini distribucije

• NuGet– Vezano na projekt– Za vse razvijalce

• VSIX– Za vse projekte– Vezano na razvijalca

Page 7: Diagnostic Analyzers in Visual Studio 2015

Uporabnost analizatorjev

Page 8: Diagnostic Analyzers in Visual Studio 2015

Zahtevana programska oprema

• http://bit.ly/VS2015download– Visual Studio Extensibility Tools

• http://bit.ly/RoslynSDK

Page 9: Diagnostic Analyzers in Visual Studio 2015

Predloga za diagnostični analizator

Page 10: Diagnostic Analyzers in Visual Studio 2015

Preverjanje regularnih izrazov

Page 11: Diagnostic Analyzers in Visual Studio 2015

Roslyn Syntax Visualizer

Page 12: Diagnostic Analyzers in Visual Studio 2015

Sintaktično drevo

InvocationExpression

SimpleMemberAccessExpression

IdentifierName

Regex

WhitespaceTrivia

. IdentifierName

Match

ArgumentList

( Argument

StringLiteralExpression

""

,

WhitespaceTrivia

Argument

StringLiteralExpression"["

)

Page 13: Diagnostic Analyzers in Visual Studio 2015

Implementacija analizatorja

Page 14: Diagnostic Analyzers in Visual Studio 2015

Strukturiranje izvorne kode

Workspace

Solution

Project

MetadataReference Document ImmutableArray<Diagnostic>

CompilationWithAnalyzersGetAnalyzerDiagnosticsAsync()

CompilationWithAnalyzers()

ProjectGetCompilationAsync()

Page 15: Diagnostic Analyzers in Visual Studio 2015

Testno ogrodje

Page 16: Diagnostic Analyzers in Visual Studio 2015

Uporabne povezave

• http://bit.ly/RoslynOverview• http://bit.ly/DotNetConfAnalyzersVideo• http://bit.ly/MsdnMagLiveCodeAnalyzer• http://bit.ly/MsdnMagCodeFix• http://bit.ly/RefactoringEssentials • http://bit.ly/CodeCrackerAnalyzers• http://bit.ly/CSharpEssentials

Page 17: Diagnostic Analyzers in Visual Studio 2015

Veliko novosti

• Prevajalnik kot storitev• Prenovljen urejevalnik• Lažje dostopna analiza kode• Avtomatični popravki

Oživitev dokumentov s pravili kodiranja

Page 18: Diagnostic Analyzers in Visual Studio 2015

[email protected]://twitter.com/DamirArhhttp://www.damirscorner.com

Vprašanja