Upload
damir-arh
View
514
Download
2
Embed Size (px)
Citation preview
Diagnostični analizatorji v Visual Studiu 2015Damir Arh
Diagnostični analizator?
Kako?
Zakaj?
.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
Kaj?
FxCop Analyzers
Načini distribucije
• NuGet– Vezano na projekt– Za vse razvijalce
• VSIX– Za vse projekte– Vezano na razvijalca
Uporabnost analizatorjev
Zahtevana programska oprema
• http://bit.ly/VS2015download– Visual Studio Extensibility Tools
• http://bit.ly/RoslynSDK
Predloga za diagnostični analizator
Preverjanje regularnih izrazov
Roslyn Syntax Visualizer
Sintaktično drevo
InvocationExpression
SimpleMemberAccessExpression
IdentifierName
Regex
WhitespaceTrivia
. IdentifierName
Match
ArgumentList
( Argument
StringLiteralExpression
""
,
WhitespaceTrivia
Argument
StringLiteralExpression"["
)
Implementacija analizatorja
Strukturiranje izvorne kode
Workspace
Solution
Project
MetadataReference Document ImmutableArray<Diagnostic>
CompilationWithAnalyzersGetAnalyzerDiagnosticsAsync()
CompilationWithAnalyzers()
ProjectGetCompilationAsync()
Testno ogrodje
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
Veliko novosti
• Prevajalnik kot storitev• Prenovljen urejevalnik• Lažje dostopna analiza kode• Avtomatični popravki
Oživitev dokumentov s pravili kodiranja
[email protected]://twitter.com/DamirArhhttp://www.damirscorner.com
Vprašanja