update lists
This commit is contained in:
143
terminal/roslyn
Normal file
143
terminal/roslyn
Normal file
@@ -0,0 +1,143 @@
|
||||
|
||||
[48;5;235m[38;5;249m[49m[39m[48;5;235m[38;5;249m [49m[39m
|
||||
[48;5;235m[38;5;249m [49m[39m
|
||||
[48;5;235m[38;5;249m[49m[39m[48;5;235m[38;5;249m [49m[39m
|
||||
|
||||
|
||||
|
||||
[48;5;235m[38;5;249m[49m[39m[48;5;235m[38;5;249m [49m[39m
|
||||
[48;5;235m[38;5;249m [49m[39m
|
||||
[48;5;235m[38;5;249m[49m[39m[48;5;235m[38;5;249m [49m[39m
|
||||
|
||||
|
||||
[38;5;11m[1m▐[0m[38;5;12m [39m[38;5;12mCurated list of Roslyn books, tutorials, open source projects, analyzers, code fixes, refactorings, and source generators.[39m
|
||||
|
||||
[38;5;12mRoslyn, officially named [39m[38;5;14m[1m.NET Compiler Platform[0m[38;5;12m (https://en.wikipedia.org/wiki/.NET_Compiler_Platform), is a set of open-source compilers and code analysis APIs for C# and Visual Basic .NET languages.[39m
|
||||
|
||||
[38;2;255;187;0m[4mContents[0m
|
||||
|
||||
[38;5;12m- [39m[38;5;14m[1mBooks[0m[38;5;12m (#books)[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mTutorials[0m[38;5;12m (#tutorials)[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mOpen Source Projects[0m[38;5;12m (#open-source-projects)[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mOpen Source Analyzers, Code Fixes, and Refactorings[0m[38;5;12m (#open-source-analyzers-code-fixes-and-refactorings)[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mLibraries and Frameworks for Testing Analyzers, Code Fixes, and Refactorings[0m[38;5;12m (#libraries-and-frameworks-for-testing-analyzers-code-fixes-and-refactorings)[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mSource Generators[0m[38;5;12m (#source-generators)[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mBlog Posts and Articles[0m[38;5;12m (#blog-posts-and-articles)[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mTalks[0m[38;5;12m (#talks)[39m
|
||||
|
||||
[38;2;255;187;0m[4mBooks[0m
|
||||
[38;5;12mAwesome books to give you a good start with Roslyn.[39m
|
||||
|
||||
[38;5;12m- [39m[38;5;14m[1mRoslyn Succinctly[0m[38;5;12m (https://www.syncfusion.com/ebooks/roslyn) - [39m[48;2;30;30;40m[38;5;13m[3mFree e-book[0m[38;5;12m by Alessandro Del Sole and the perfect book to start with. Explains Roslyn APIs and afterward focuses on writing analyzers and refactorings.[39m
|
||||
[38;5;12m-[39m[38;5;12m [39m[38;5;14m[1m.NET[0m[38;5;14m[1m [0m[38;5;14m[1mDevelopment[0m[38;5;14m[1m [0m[38;5;14m[1mUsing[0m[38;5;14m[1m [0m[38;5;14m[1mthe[0m[38;5;14m[1m [0m[38;5;14m[1mCompiler[0m[38;5;14m[1m [0m[38;5;14m[1mAPI[0m[38;5;12m [39m[38;5;12m(https://www.apress.com/la/book/9781484221105)[39m[38;5;12m [39m[38;5;12m-[39m[38;5;12m [39m[38;5;12mBook[39m[38;5;12m [39m[38;5;12mby[39m[38;5;12m [39m[38;5;12mJason[39m[38;5;12m [39m[38;5;12mBock.[39m[38;5;12m [39m[38;5;12mBesides[39m[38;5;12m [39m[38;5;12manalyzers[39m[38;5;12m [39m[38;5;12mand[39m[38;5;12m [39m[38;5;12mrefactorings,[39m[38;5;12m [39m[38;5;12mit[39m[38;5;12m [39m[38;5;12malso[39m[38;5;12m [39m[38;5;12mexplains[39m[38;5;12m [39m[38;5;12mthe[39m[38;5;12m [39m[38;5;12mscripting[39m[38;5;12m [39m[38;5;12mAPI[39m[38;5;12m [39m[38;5;12mand[39m[38;5;12m [39m[38;5;12mprovides[39m[38;5;12m [39m[38;5;12man[39m[38;5;12m [39m[38;5;12minteresting[39m[38;5;12m [39m[38;5;12mreflection[39m[38;5;12m [39m[38;5;12mon[39m[38;5;12m [39m[38;5;12mthe[39m[38;5;12m [39m[38;5;12mfuture[39m[38;5;12m [39m[38;5;12mof[39m[38;5;12m [39m[38;5;12mthe[39m[38;5;12m [39m
|
||||
[38;5;12mCompiler[39m[38;5;12m [39m[38;5;12mAPI.[39m
|
||||
[38;5;12m-[39m[38;5;12m [39m[38;5;14m[1mRoslyn[0m[38;5;14m[1m [0m[38;5;14m[1mCookbook[0m[38;5;12m [39m[38;5;12m(https://www.packtpub.com/application-development/roslyn-cookbook)[39m[38;5;12m [39m[38;5;12m-[39m[38;5;12m [39m[38;5;12mBook[39m[38;5;12m [39m[38;5;12mby[39m[38;5;12m [39m[38;5;12mManish[39m[38;5;12m [39m[38;5;12mVasani,[39m[38;5;12m [39m[38;5;12ma[39m[38;5;12m [39m[38;5;12mmember[39m[38;5;12m [39m[38;5;12mof[39m[38;5;12m [39m[38;5;12mthe[39m[38;5;12m [39m[38;5;12mRoslyn[39m[38;5;12m [39m[38;5;12manalyzers[39m[38;5;12m [39m[38;5;12mteam.[39m[38;5;12m [39m[38;5;12mAfter[39m[38;5;12m [39m[38;5;12mcovering[39m[38;5;12m [39m[38;5;12manalyzers,[39m[38;5;12m [39m[38;5;12mrefactorings,[39m[38;5;12m [39m[38;5;12mand[39m[38;5;12m [39m[38;5;12mscripting[39m[38;5;12m [39m[38;5;12min[39m[38;5;12m [39m[38;5;12mdetail,[39m[38;5;12m [39m[38;5;12mthe[39m[38;5;12m [39m[38;5;12mbook[39m[38;5;12m [39m[38;5;12mgoes[39m[38;5;12m [39m[38;5;12min-depth[39m[38;5;12m [39m
|
||||
[38;5;12mexplaining[39m[38;5;12m [39m[38;5;12mhow[39m[38;5;12m [39m[38;5;12mto[39m[38;5;12m [39m[38;5;12mdevelop[39m[38;5;12m [39m[38;5;12mnew[39m[38;5;12m [39m[38;5;12mC#[39m[38;5;12m [39m[38;5;12mlanguage[39m[38;5;12m [39m[38;5;12mfeatures[39m[38;5;12m [39m[38;5;12mand[39m[38;5;12m [39m[38;5;12mcontribute[39m[38;5;12m [39m[38;5;12mto[39m[38;5;12m [39m[38;5;12mthe[39m[38;5;12m [39m[38;5;12mRoslyn[39m[38;5;12m [39m[38;5;12msource[39m[38;5;12m [39m[38;5;12mcode.[39m
|
||||
|
||||
[38;2;255;187;0m[4mTutorials[0m
|
||||
[38;5;12mAwesome online tutorials to help you write your first analyzers, code fixes, and source generators.[39m
|
||||
|
||||
[38;5;12m- [39m[38;5;14m[1mLearn Roslyn Now[0m[38;5;12m (https://joshvarty.com/learn-roslyn-now/) - Series of blog posts that explore the Roslyn compiler API. It introduces the power of Roslyn through small self-contained examples. A perfect tutorial to start with :-)[39m
|
||||
[38;5;12m-[39m[38;5;12m [39m[38;5;14m[1mHow[0m[38;5;14m[1m [0m[38;5;14m[1mTo[0m[38;5;14m[1m [0m[38;5;14m[1mWrite[0m[38;5;14m[1m [0m[38;5;14m[1ma[0m[38;5;14m[1m [0m[38;5;14m[1mC#[0m[38;5;14m[1m [0m[38;5;14m[1mAnalyzer[0m[38;5;14m[1m [0m[38;5;14m[1mand[0m[38;5;14m[1m [0m[38;5;14m[1mCode[0m[38;5;14m[1m [0m[38;5;14m[1mFix[0m[38;5;12m [39m[38;5;12m(https://github.com/dotnet/roslyn/blob/master/docs/wiki/How-To-Write-a-C%23-Analyzer-and-Code-Fix.md)[39m[38;5;12m [39m[38;5;12m-[39m[38;5;12m [39m[38;5;12mThe[39m[38;5;12m [39m[38;5;12mmother[39m[38;5;12m [39m[38;5;12mof[39m[38;5;12m [39m[38;5;12mall[39m[38;5;12m [39m[38;5;12mRoslyn[39m[38;5;12m [39m[38;5;12mtutorials[39m[38;5;12m [39m[38;5;12m:-)[39m[38;5;12m [39m[38;5;12mA[39m[38;5;12m [39m[38;5;12mrealistic[39m[38;5;12m [39m[38;5;12mstep-by-step[39m[38;5;12m [39m[38;5;12mintroduction[39m[38;5;12m [39m[38;5;12mto[39m[38;5;12m [39m[38;5;12msyntax[39m[38;5;12m [39m[38;5;12mand[39m[38;5;12m [39m[38;5;12msemantic[39m[38;5;12m [39m
|
||||
[38;5;12manalysis[39m[38;5;12m [39m[38;5;12mas[39m[38;5;12m [39m[38;5;12mwell[39m[38;5;12m [39m[38;5;12mas[39m[38;5;12m [39m[38;5;12mthe[39m[38;5;12m [39m[38;5;12msyntax[39m[38;5;12m [39m[38;5;12mtransformation.[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mC# and Visual Basic - Use Roslyn to Write a Live Code Analyzer for Your API[0m[38;5;12m (https://msdn.microsoft.com/en-us/magazine/dn879356.aspx) - Older but still not outdated, very detailed MSDN article on writing code analyzers.[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mC# - Adding a Code Fix to Your Roslyn Analyzer[0m[38;5;12m (https://msdn.microsoft.com/en-us/magazine/dn904670.aspx) - The sequel to the previous MSDN article. A detailed introduction into code fixes.[39m
|
||||
[38;5;12m-[39m[38;5;12m [39m[38;5;14m[1mIntroducing[0m[38;5;14m[1m [0m[38;5;14m[1mC#[0m[38;5;14m[1m [0m[38;5;14m[1mSource[0m[38;5;14m[1m [0m[38;5;14m[1mGenerators[0m[38;5;12m [39m[38;5;12m(https://devblogs.microsoft.com/dotnet/introducing-c-source-generators/)[39m[38;5;12m [39m[38;5;12m-[39m[38;5;12m [39m[38;5;12mOriginal[39m[38;5;12m [39m[38;5;12mannouncement[39m[38;5;12m [39m[38;5;12mof[39m[38;5;12m [39m[38;5;12mthe[39m[38;5;12m [39m[38;5;12mC#[39m[38;5;12m [39m[38;5;12m9.0[39m[38;5;12m [39m[38;5;12mSource[39m[38;5;12m [39m[38;5;12mGenerators[39m[38;5;12m [39m[38;5;12mfeature.[39m[38;5;12m [39m[38;5;12mExplains[39m[38;5;12m [39m[38;5;12mwhat[39m[38;5;12m [39m[38;5;12msource[39m[38;5;12m [39m[38;5;12mgenerators[39m[38;5;12m [39m[38;5;12mare,[39m[38;5;12m [39m[38;5;12min[39m[38;5;12m [39m[38;5;12mwhich[39m[38;5;12m [39m[38;5;12mscenarios[39m[38;5;12m [39m[38;5;12mthey[39m[38;5;12m [39m[38;5;12mare[39m[38;5;12m [39m[38;5;12museful,[39m[38;5;12m [39m
|
||||
[38;5;12mand[39m[38;5;12m [39m[38;5;12mshows[39m[38;5;12m [39m[38;5;12mhow[39m[38;5;12m [39m[38;5;12mto[39m[38;5;12m [39m[38;5;12mwrite[39m[38;5;12m [39m[38;5;12ma[39m[38;5;12m [39m[38;5;12msimple[39m[38;5;12m [39m[38;5;12msource[39m[38;5;12m [39m[38;5;12mgenerator.[39m
|
||||
[38;5;12m-[39m[38;5;12m [39m[38;5;14m[1mNew[0m[38;5;14m[1m [0m[38;5;14m[1mC#[0m[38;5;14m[1m [0m[38;5;14m[1mSource[0m[38;5;14m[1m [0m[38;5;14m[1mGenerator[0m[38;5;14m[1m [0m[38;5;14m[1mSamples[0m[38;5;12m [39m[38;5;12m(https://devblogs.microsoft.com/dotnet/new-c-source-generator-samples/)[39m[38;5;12m [39m[38;5;12m-[39m[38;5;12m [39m[38;5;12mSamples[39m[38;5;12m [39m[38;5;12mon[39m[38;5;12m [39m[38;5;12mhow[39m[38;5;12m [39m[38;5;12mto[39m[38;5;12m [39m[38;5;12mwrite[39m[38;5;12m [39m[38;5;12ma[39m[38;5;12m [39m[38;5;12mnon-trivial[39m[38;5;12m [39m[38;5;12mcode[39m[38;5;12m [39m[38;5;12mgenerator[39m[38;5;12m [39m[38;5;12mdriven[39m[38;5;12m [39m[38;5;12mby[39m[38;5;12m [39m[38;5;12madditional,[39m[38;5;12m [39m[38;5;12mnon-code[39m[38;5;12m [39m[38;5;12mfiles[39m[38;5;12m [39m[38;5;12mlike[39m[38;5;12m [39m[38;5;12mCSV[39m[38;5;12m [39m[38;5;12mfiles[39m[38;5;12m [39m[38;5;12mor[39m[38;5;12m [39m[38;5;14m[1mMustache[0m[38;5;12m [39m
|
||||
[38;5;12m(https://mustache.github.io/)[39m[38;5;12m [39m[38;5;12mtemplates.[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mC# Source Generators[0m[38;5;12m (https://github.com/amis92/csharp-source-generators) - Comprehensive list of additional learning sources, samples, and experimental and productive source generators. A perfect reference once you grasp the basics.[39m
|
||||
|
||||
[38;2;255;187;0m[4mOpen Source Projects[0m
|
||||
[38;5;12mAwesome open source projects built on top of Roslyn.[39m
|
||||
|
||||
[38;5;12m- [39m[38;5;14m[1mBridge[0m[38;5;12m (https://github.com/bridgedotnet/Bridge) - C# to JavaScript transpiler. Write modern mobile and web apps in C# and run them anywhere in JavaScript.[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mCode Converter[0m[38;5;12m (https://github.com/icsharpcode/CodeConverter/) - C# to VB.NET and VB.NET to C# transpiler.[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mCodeAnalysis.CSharp.PatternMatching[0m[38;5;12m (https://github.com/pvginkel/Microsoft.CodeAnalysis.CSharp.PatternMatching) - Intuitive pattern matching for Roslyn syntax trees. Simplifies C# syntax and semantic analysis.[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mCodeGeneration.Roslyn[0m[38;5;12m (https://github.com/AArnott/CodeGeneration.Roslyn) - Roslyn-based Code Generation during a build with design-time support.[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mdotnet-script[0m[38;5;12m (https://github.com/filipw/dotnet-script) - Runs C# scripts from the .NET CLI, defines NuGet packages inline and edit/debugs them in VS Code.[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mFlubuCore[0m[38;5;12m (https://github.com/dotnetcore/FlubuCore) - Cross platform build automation tool for building projects and executing deployment scripts using C# code.[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mMirrorSharp[0m[38;5;12m (https://github.com/ashmind/mirrorsharp) - Online C#, VB.NET, and F# code editor. Features code completion, method signature help, quick fixes, and diagnostics.[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mOmniSharp[0m[38;5;12m (http://www.omnisharp.net/) - Enables a cross platform .NET development in the editor of your choice. A family of open source projects, each with one goal: To enable a great .NET experience in your editor of choice.[39m
|
||||
[38;5;12m-[39m[38;5;12m [39m[38;5;14m[1mroslyn-linq-rewrite[0m[38;5;12m [39m[38;5;12m(https://github.com/antiufo/roslyn-linq-rewrite)[39m[38;5;12m [39m[38;5;12m-[39m[38;5;12m [39m[38;5;12mCompiles[39m[38;5;12m [39m[38;5;12mC#[39m[38;5;12m [39m[38;5;12mcode[39m[38;5;12m [39m[38;5;12mby[39m[38;5;12m [39m[38;5;12mfirst[39m[38;5;12m [39m[38;5;12mrewriting[39m[38;5;12m [39m[38;5;12mthe[39m[38;5;12m [39m[38;5;12msyntax[39m[38;5;12m [39m[38;5;12mtrees[39m[38;5;12m [39m[38;5;12mof[39m[38;5;12m [39m[38;5;12mLINQ[39m[38;5;12m [39m[38;5;12mexpressions[39m[38;5;12m [39m[38;5;12musing[39m[38;5;12m [39m[38;5;12mplain[39m[38;5;12m [39m[38;5;12mprocedural[39m[38;5;12m [39m[38;5;12mcode.[39m[38;5;12m [39m[38;5;12mThis[39m[38;5;12m [39m[38;5;12mincreases[39m[38;5;12m [39m[38;5;12mperformance[39m[38;5;12m [39m[38;5;12mby[39m[38;5;12m [39m[38;5;12mminimizes[39m[38;5;12m [39m[38;5;12mheap[39m[38;5;12m [39m[38;5;12mallocations[39m[38;5;12m [39m[38;5;12mand[39m[38;5;12m [39m[38;5;12mdynamic[39m[38;5;12m [39m
|
||||
[38;5;12mdispatch.[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mRoslynPad[0m[38;5;12m (https://roslynpad.net/) - Cross-platform C# editor. Features code completion, method signature help, quick fixes, and diagnostics.[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mRoslynQuoter[0m[38;5;12m (https://github.com/KirillOsenkov/RoslynQuoter) - Online tool that for a given C# program generates syntax tree API calls that construct syntax tree of that program.[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mscriptcs[0m[38;5;12m (http://scriptcs.net/) - Turns C# into a powerful scripting tool. Features C# REPL, installation of NuGet packages, and execution of scripts with a single line of code.[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mScripty[0m[38;5;12m (https://github.com/daveaglick/Scripty) - Tool to use Roslyn-powered C# scripts for code generation. You can think of it as a scripted alternative to T4 templates.[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mSharpen[0m[38;5;12m (http://sharpen.rocks) - Visual Studio extension that intelligently introduces new C# language features into your existing code base.[39m
|
||||
[38;5;12m-[39m[38;5;12m [39m[38;5;14m[1mSharpLab[0m[38;5;12m [39m[38;5;12m(https://sharplab.io/)[39m[38;5;12m [39m[38;5;12m-[39m[38;5;12m [39m[38;5;12m.NET[39m[38;5;12m [39m[38;5;12mcode[39m[38;5;12m [39m[38;5;12mplayground.[39m[38;5;12m [39m[38;5;12mDisplays[39m[38;5;12m [39m[38;5;12mintermediate[39m[38;5;12m [39m[38;5;12msteps[39m[38;5;12m [39m[38;5;12mand[39m[38;5;12m [39m[38;5;12mresults[39m[38;5;12m [39m[38;5;12mof[39m[38;5;12m [39m[38;5;12mcode[39m[38;5;12m [39m[38;5;12mcompilation.[39m[38;5;12m [39m[38;5;12mShows[39m[38;5;12m [39m[38;5;12mthe[39m[38;5;12m [39m[38;5;12mcode[39m[38;5;12m [39m[38;5;12mas[39m[38;5;12m [39m[38;5;12mcompiler[39m[38;5;12m [39m[38;5;12msees[39m[38;5;12m [39m[38;5;12mit.[39m[38;5;12m [39m[38;5;12mAllows[39m[38;5;12m [39m[38;5;12mselecting[39m[38;5;12m [39m[38;5;12mdifferent[39m[38;5;12m [39m[38;5;12mbranches[39m[38;5;12m [39m[38;5;12mand[39m[38;5;12m [39m[38;5;12mversions[39m[38;5;12m [39m[38;5;12mof[39m[38;5;12m [39m[38;5;12mRoslyn.[39m[38;5;12m [39m[38;5;12mRuns[39m[38;5;12m [39m[38;5;12mC#,[39m[38;5;12m [39m[38;5;12mVB.NET,[39m[38;5;12m [39m[38;5;12mand[39m[38;5;12m [39m[38;5;12mF#[39m[38;5;12m [39m[38;5;12mcode[39m[38;5;12m [39m[38;5;12min[39m
|
||||
[38;5;12mthe[39m[38;5;12m [39m[38;5;12mbrowser.[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mTestura.Code[0m[38;5;12m (https://github.com/Testura/Testura.Code) - Wrapper around the Roslyn API used for generation, saving, and compiling C# code. Provides methods and helpers to generate classes, methods, statements, and expressions.[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mUno SourceGenerator[0m[38;5;12m (https://github.com/nventive/Uno.SourceGeneration) - C# source code generator based on a project being built, using all of its syntactic and semantic model information.[39m
|
||||
|
||||
[38;2;255;187;0m[4mOpen Source Analyzers, Code Fixes, and Refactorings[0m
|
||||
[38;5;12mAwesome open source analyzers, code fixes, and refactorings.[39m
|
||||
|
||||
[38;5;12m-[39m[38;5;12m [39m[38;5;14m[1m.NET[0m[38;5;14m[1m [0m[38;5;14m[1mAnalyzers[0m[38;5;12m [39m[38;5;12m(https://github.com/DotNetAnalyzers)[39m[38;5;12m [39m[38;5;12m-[39m[38;5;12m [39m[38;5;12mGitHub[39m[38;5;12m [39m[38;5;12morganization[39m[38;5;12m [39m[38;5;12mfor[39m[38;5;12m [39m[38;5;12mthe[39m[38;5;12m [39m[38;5;12mdevelopment[39m[38;5;12m [39m[38;5;12mof[39m[38;5;12m [39m[38;5;12mRoslyn[39m[38;5;12m [39m[38;5;12manalyzers.[39m[38;5;12m [39m[38;5;12mVarious[39m[38;5;12m [39m[38;5;12mrepositories[39m[38;5;12m [39m[38;5;12mwithin[39m[38;5;12m [39m[38;5;12mthe[39m[38;5;12m [39m[38;5;12morganization[39m[38;5;12m [39m[38;5;12mcover[39m[38;5;12m [39m[38;5;12manalyzers[39m[38;5;12m [39m[38;5;12mfor[39m[38;5;12m [39m[38;5;12mASP.NET[39m[38;5;12m [39m[38;5;12mCore,[39m[38;5;12m [39m[38;5;12mWPF,[39m[38;5;12m [39m[38;5;12mIDisposable,[39m[38;5;12m [39m[38;5;12musages[39m[38;5;12m [39m[38;5;12mof[39m[38;5;12m [39m[38;5;12mSystem.Reflection,[39m[38;5;12m [39m
|
||||
[38;5;12metc.[39m
|
||||
[38;5;12m-[39m[38;5;12m [39m[38;5;14m[1m.NET[0m[38;5;14m[1m [0m[38;5;14m[1mCompiler[0m[38;5;14m[1m [0m[38;5;14m[1mPlatform[0m[38;5;14m[1m [0m[38;5;14m[1m("Roslyn")[0m[38;5;14m[1m [0m[38;5;14m[1mAnalyzers[0m[38;5;12m [39m[38;5;12m(https://github.com/dotnet/roslyn-analyzers)[39m[38;5;12m [39m[38;5;12m-[39m[38;5;12m [39m[38;5;12mDiagnostic[39m[38;5;12m [39m[38;5;12manalyzers[39m[38;5;12m [39m[38;5;12mdeveloped[39m[38;5;12m [39m[38;5;12mby[39m[38;5;12m [39m[38;5;12mthe[39m[38;5;12m [39m[38;5;12mRoslyn[39m[38;5;12m [39m[38;5;12mteam.[39m[38;5;12m [39m[38;5;12mInitially[39m[38;5;12m [39m[38;5;12mdeveloped[39m[38;5;12m [39m[38;5;12mto[39m[38;5;12m [39m[38;5;12mhelp[39m[38;5;12m [39m[38;5;12mflesh[39m[38;5;12m [39m[38;5;12mout[39m[38;5;12m [39m[38;5;12mthe[39m[38;5;12m [39m[38;5;12mdesign[39m[38;5;12m [39m[38;5;12mand[39m[38;5;12m [39m[38;5;12mimplementation[39m[38;5;12m [39m[38;5;12mof[39m[38;5;12m [39m[38;5;12mthe[39m[38;5;12m [39m[38;5;12mstatic[39m[38;5;12m [39m[38;5;12manalysis[39m[38;5;12m [39m[38;5;12mAPIs.[39m[38;5;12m [39m[38;5;12mThe[39m[38;5;12m [39m
|
||||
[38;5;12manalyzers[39m[38;5;12m [39m[38;5;12mcover[39m[38;5;12m [39m[38;5;12mcode[39m[38;5;12m [39m[38;5;12mquality,[39m[38;5;12m [39m[38;5;12m.NET[39m[38;5;12m [39m[38;5;12mCore,[39m[38;5;12m [39m[38;5;12mdesktop[39m[38;5;12m [39m[38;5;12m.NET[39m[38;5;12m [39m[38;5;12mFramework,[39m[38;5;12m [39m[38;5;12mcomments[39m[38;5;12m [39m[38;5;12min[39m[38;5;12m [39m[38;5;12mcode,[39m[38;5;12m [39m[38;5;12mand[39m[38;5;12m [39m[38;5;12mmore.[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mCode Cracker[0m[38;5;12m (https://github.com/code-cracker/code-cracker) - Analyzer library for C# and VB.NET. Offers diagnostics in many categories like performance, coding styles, as well as some basic refactorings.[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mCSharpGuidelinesAnalyzer[0m[38;5;12m (https://github.com/bkoelman/CSharpGuidelinesAnalyzer) - Reports diagnostics for C# coding guidelines (https://csharpcodingguidelines.com/).[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mErrorProne.NET[0m[38;5;12m (https://github.com/SergeyTeplyakov/ErrorProne.NET) - Set of analyzers and code fixes focusing on the correctness and performance of C# programs. Inspired with Google's [39m[38;5;14m[1mError Prone[0m[38;5;12m (https://github.com/google/error-prone).[39m
|
||||
[38;5;12m-[39m[38;5;12m [39m[38;5;14m[1mMapping[0m[38;5;14m[1m [0m[38;5;14m[1mGenerator[0m[38;5;12m [39m[38;5;12m(https://github.com/cezarypiatek/MappingGenerator)[39m[38;5;12m [39m[38;5;12m-[39m[38;5;12m [39m[38;5;12mCode[39m[38;5;12m [39m[38;5;12mfix[39m[38;5;12m [39m[38;5;12mthat[39m[38;5;12m [39m[38;5;12mgenerates[39m[38;5;12m [39m[38;5;12marbitrary[39m[38;5;12m [39m[38;5;12mcomplex[39m[38;5;12m [39m[38;5;12mobject-object[39m[38;5;12m [39m[38;5;12mmappings.[39m[38;5;12m [39m[38;5;12mIt[39m[38;5;12m [39m[38;5;12mrecognizes[39m[38;5;12m [39m[38;5;12mout[39m[38;5;12m [39m[38;5;12mof[39m[38;5;12m [39m[38;5;12mthe[39m[38;5;12m [39m[38;5;12mbox[39m[38;5;12m [39m[38;5;12ma[39m[38;5;12m [39m[38;5;12mlarge[39m[38;5;12m [39m[38;5;12mnumber[39m[38;5;12m [39m[38;5;12mof[39m[38;5;12m [39m[38;5;12mscenarios[39m[38;5;12m [39m[38;5;12mwhere[39m[38;5;12m [39m[38;5;12mmappings[39m[38;5;12m [39m[38;5;12mare[39m[38;5;12m [39m[38;5;12mused.[39m[38;5;12m [39m[38;5;12mA[39m[38;5;12m [39m[38;5;12mdesign-time[39m[38;5;12m [39m[38;5;12malternative[39m
|
||||
[38;5;12mto[39m[38;5;12m [39m[38;5;14m[1mAutoMapper[0m[38;5;12m [39m[38;5;12m(https://automapper.org/).[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mNullable.Extended[0m[38;5;12m (https://github.com/tom-englert/Nullable.Extended) - Roslyn tools and analyzers to improve the experience when coding with nullable reference types.[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mRefactoring Essentials for Visual Studio[0m[38;5;12m (https://github.com/icsharpcode/RefactoringEssentials/) - Refactorings, analyzers and code fixes for C# and VB.NET.[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mRoslyn Clr Heap Allocation Analyzer[0m[38;5;12m (https://github.com/Microsoft/RoslynClrHeapAllocationAnalyzer) - C# heap allocation analyzer that can detect explicit and many implicit allocations like boxing, closures, implicit delegate creations, etc.[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mRoslynator[0m[38;5;12m (https://github.com/JosefPihrt/Roslynator) - Collection of 190+ analyzers and 190+ refactorings for C#. Covers coding style, code readability and simplification, removing redundancies, fixing compiler errors, and many more.[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mSonarC#[0m[38;5;12m (https://github.com/SonarSource/sonar-csharp) - Static code analyzer for C# language used as an extension for the SonarQube platform.[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mStyleCop Analyzers for the .NET Compiler Platform[0m[38;5;12m (https://github.com/DotNetAnalyzers/StyleCopAnalyzers) - Port of StyleCop rules to Roslyn.[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mVSDiagnostics[0m[38;5;12m (https://github.com/Vannevelj/VSDiagnostics) - Collection of code-quality analyzers. Covers usages of async methods, flags enums, best practices in exception handling as well as many other code-quality checks.[39m
|
||||
|
||||
[38;2;255;187;0m[4mLibraries and Frameworks for Testing Analyzers, Code Fixes, and Refactorings[0m
|
||||
[38;5;12mAwesome libraries and frameworks for testing analyzers, code fixes, and refactorings.[39m
|
||||
|
||||
[38;5;12m-[39m[38;5;12m [39m[38;5;14m[1mMicrosoft.CodeAnalysis.Testing[0m[38;5;12m [39m[38;5;12m(https://github.com/dotnet/roslyn-sdk/tree/master/src/Microsoft.CodeAnalysis.Testing)[39m[38;5;12m [39m[38;5;12m-[39m[38;5;12m [39m[38;5;12mLibrary[39m[38;5;12m [39m[38;5;12mfor[39m[38;5;12m [39m[38;5;12mtesting[39m[38;5;12m [39m[38;5;12manalyzers[39m[38;5;12m [39m[38;5;12mand[39m[38;5;12m [39m[38;5;12mcode[39m[38;5;12m [39m[38;5;12mfixes[39m[38;5;12m [39m[38;5;12mwith[39m[38;5;12m [39m[38;5;12mNUnit,[39m[38;5;12m [39m[38;5;12mxUnit[39m[38;5;12m [39m[38;5;12mand[39m[38;5;12m [39m[38;5;12mMSTest[39m[38;5;12m [39m[38;5;12mframeworks.[39m[38;5;12m [39m[38;5;12mA[39m[38;5;12m [39m[38;5;12mpart[39m[38;5;12m [39m[38;5;12mof[39m[38;5;12m [39m[38;5;14m[1mRoslyn[0m[38;5;14m[1m [0m[38;5;14m[1mSDK[0m[38;5;12m [39m
|
||||
[38;5;12m(https://github.com/dotnet/roslyn-sdk).[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mRoslynTestKit[0m[38;5;12m (https://github.com/cezarypiatek/RoslynTestKit) - Lightweight framework for writing unit tests for analyzers, code fixes, refactorings, and completion providers. It's unit testing framework agnostic.[39m
|
||||
|
||||
[38;2;255;187;0m[4mSource Generators[0m
|
||||
[38;5;12mAwesome (but mostly experimental at the moment, because .NET 5.0 and C# 9.0 are still in preview) source generators and open source projects that internally use source generators.[39m
|
||||
|
||||
[38;5;12m- [39m[38;5;14m[1mDpDtInject[0m[38;5;12m (https://github.com/lsoft/DpdtInject) - Proof-of-concept of a dependency injection container that transfers huge piece of resolving logic to the compilation stage. Offers additional compile-time safety and fast runtime resolution.[39m
|
||||
[38;5;12m-[39m[38;5;12m [39m[38;5;14m[1mGenerator.Equals[0m[38;5;12m [39m[38;5;12m(https://github.com/diegofrata/Generator.Equals)[39m[38;5;12m [39m[38;5;12m-[39m[38;5;12m [39m[38;5;12mAutomatically[39m[38;5;12m [39m[38;5;12mimplements[39m[38;5;12m [39m[38;5;12mequality[39m[38;5;12m [39m[38;5;12mand[39m[38;5;12m [39m[38;5;12mhashing[39m[38;5;12m [39m[38;5;12mfor[39m[38;5;12m [39m[38;5;12mclasses[39m[38;5;12m [39m[38;5;12mand[39m[38;5;12m [39m[38;5;12mrecords.[39m[38;5;12m [39m[38;5;12mSupports[39m[38;5;12m [39m[38;5;12mdifferent[39m[38;5;12m [39m[38;5;12mcomparison[39m[38;5;12m [39m[38;5;12mstrategies.[39m[38;5;12m [39m[38;5;12mOffers[39m[38;5;12m [39m[38;5;12msimilar[39m[38;5;12m [39m[38;5;12mfunctionality[39m[38;5;12m [39m[38;5;12mlike[39m[38;5;12m [39m[38;5;12mIL[39m[38;5;12m [39m[38;5;12mweaving-based[39m[38;5;12m [39m[38;5;14m[1mEquals.Fody[0m[38;5;12m [39m
|
||||
[38;5;12m(https://github.com/Fody/Equals).[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mJsonSrcGen[0m[38;5;12m (https://github.com/trampster/JsonSrcGen) - Reflection-free JSON serializer. Allows extremely fast JSON processing by generating reflection-free serializers at the compile time.[39m
|
||||
[38;5;12m-[39m[38;5;12m [39m[38;5;14m[1mSource[0m[38;5;14m[1m [0m[38;5;14m[1mGenerator[0m[38;5;14m[1m [0m[38;5;14m[1mPlayground[0m[38;5;12m [39m[38;5;12m(https://sourcegen.dev/)[39m[38;5;12m [39m[38;5;12m-[39m[38;5;12m [39m[38;5;12mOnline[39m[38;5;12m [39m[38;5;12mapplication[39m[38;5;12m [39m[38;5;12mthat[39m[38;5;12m [39m[38;5;12mlets[39m[38;5;12m [39m[38;5;12myou[39m[38;5;12m [39m[38;5;12mexperiment[39m[38;5;12m [39m[38;5;12mwith[39m[38;5;12m [39m[38;5;12msource[39m[38;5;12m [39m[38;5;12mgenerators.[39m[38;5;12m [39m[38;5;12mPerfect[39m[38;5;12m [39m[38;5;12mfor[39m[38;5;12m [39m[38;5;12mlearning[39m[38;5;12m [39m[38;5;12mand[39m[38;5;12m [39m[38;5;12mtesting[39m[38;5;12m [39m[38;5;12myour[39m[38;5;12m [39m[38;5;12mideas.[39m[38;5;12m [39m[38;5;12mWrite[39m[38;5;12m [39m[38;5;12myour[39m[38;5;12m [39m[38;5;12mown[39m[38;5;12m [39m[38;5;12msource[39m[38;5;12m [39m[38;5;12mgenerator[39m[38;5;12m [39m[38;5;12mor[39m[38;5;12m [39m[38;5;12mlearn[39m[38;5;12m [39m[38;5;12mfrom[39m[38;5;12m [39m[38;5;12mbuilt-in[39m[38;5;12m [39m[38;5;12mexamples[39m[38;5;12m [39m[38;5;12mand[39m[38;5;12m [39m[38;5;12msee[39m[38;5;12m [39m[38;5;12mthe[39m[38;5;12m [39m
|
||||
[38;5;12mgenerated[39m[38;5;12m [39m[38;5;12moutput.[39m[38;5;12m [39m
|
||||
[38;5;12m-[39m[38;5;12m [39m[38;5;14m[1mStrongInject[0m[38;5;12m [39m[38;5;12m(https://github.com/YairHalberstadt/stronginject)[39m[38;5;12m [39m[38;5;12m-[39m[38;5;12m [39m[38;5;12mCompile-time[39m[38;5;12m [39m[38;5;12mdependency[39m[38;5;12m [39m[38;5;12minjection[39m[38;5;12m [39m[38;5;12mcontainer.[39m[38;5;12m [39m[38;5;12mCompile-time[39m[38;5;12m [39m[38;5;12mchecked,[39m[38;5;12m [39m[38;5;12mreflection-free[39m[38;5;12m [39m[38;5;12mand[39m[38;5;12m [39m[38;5;12mruntime[39m[38;5;12m [39m[38;5;12mcode[39m[38;5;12m [39m[38;5;12mgeneration[39m[38;5;12m [39m[38;5;12mfree,[39m[38;5;12m [39m[38;5;12mthus[39m[38;5;12m [39m[38;5;12mfast[39m[38;5;12m [39m[38;5;12mand[39m[38;5;12m [39m[38;5;14m[1mapp-trimming[0m[38;5;12m [39m
|
||||
[38;5;12m(https://devblogs.microsoft.com/dotnet/app-trimming-in-net-5/)-friendly.[39m[38;5;12m [39m
|
||||
[38;5;12m- [39m[38;5;14m[1mStructPacker[0m[38;5;12m (https://github.com/RudolfKurka/StructPacker) - Low-level, lightweight and performance-focused serializer for C# struct types. Auto-generates C# serialization code to achieve peak runtime performance and efficiency.[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mSvg to C# Source Generators[0m[38;5;12m (https://github.com/wieslawsoltes/SourceGenerators) - SVG to C# compiler. Compiles SVG drawing markup to C# using [39m[38;5;14m[1mSkiaSharp[0m[38;5;12m (https://github.com/mono/SkiaSharp) as rendering engine.[39m
|
||||
[38;5;12m-[39m[38;5;12m [39m[38;5;14m[1mWrapperValueObject[0m[38;5;12m [39m[38;5;12m(https://github.com/martinothamar/WrapperValueObject)[39m[38;5;12m [39m[38;5;12m-[39m[38;5;12m [39m[38;5;12mCreates[39m[38;5;12m [39m[38;5;12mboilerplate[39m[38;5;12m [39m[38;5;12mfree[39m[38;5;12m [39m[38;5;12mwrappers[39m[38;5;12m [39m[38;5;12maround[39m[38;5;12m [39m[38;5;12mtypes.[39m[38;5;12m [39m[38;5;12mEspecially[39m[38;5;12m [39m[38;5;12museful[39m[38;5;12m [39m[38;5;12mfor[39m[38;5;12m [39m[38;5;12mcreating[39m[38;5;12m [39m[38;5;14m[1mstrongly[0m[38;5;14m[1m [0m[38;5;14m[1mtyped[0m[38;5;14m[1m [0m[38;5;14m[1mwrappers[0m[38;5;14m[1m [0m[38;5;14m[1maround[0m[38;5;14m[1m [0m[38;5;14m[1mprimitive[0m[38;5;14m[1m [0m[38;5;14m[1mtypes[0m[38;5;12m [39m
|
||||
[38;5;12m(https://andrewlock.net/series/using-strongly-typed-entity-ids-to-avoid-primitive-obsession/).[39m
|
||||
|
||||
[38;2;255;187;0m[4mBlog Posts and Articles[0m
|
||||
[38;5;12mAwesome blog posts and online articles covering various topics like performance, Roslyn history, internals and similar.[39m
|
||||
|
||||
[38;5;12m-[39m[38;5;12m [39m[38;5;14m[1mHow[0m[38;5;14m[1m [0m[38;5;14m[1mMicrosoft[0m[38;5;14m[1m [0m[38;5;14m[1mrewrote[0m[38;5;14m[1m [0m[38;5;14m[1mits[0m[38;5;14m[1m [0m[38;5;14m[1mC#[0m[38;5;14m[1m [0m[38;5;14m[1mcompiler[0m[38;5;14m[1m [0m[38;5;14m[1min[0m[38;5;14m[1m [0m[38;5;14m[1mC#[0m[38;5;14m[1m [0m[38;5;14m[1mand[0m[38;5;14m[1m [0m[38;5;14m[1mmade[0m[38;5;14m[1m [0m[38;5;14m[1mit[0m[38;5;14m[1m [0m[38;5;14m[1mopen[0m[38;5;14m[1m [0m[38;5;14m[1msource[0m[38;5;12m [39m[38;5;12m(https://medium.com/microsoft-open-source-stories/how-microsoft-rewrote-its-c-compiler-in-c-and-made-it-open-source-4ebed5646f98)[39m[38;5;12m [39m[38;5;12m-[39m[38;5;12m [39m[38;5;12mRoslyn's[39m[38;5;12m [39m[38;5;12mjourney,[39m[38;5;12m [39m[38;5;12mpresented[39m[38;5;12m [39m[38;5;12mby[39m[38;5;12m [39m[38;5;12mMads[39m[38;5;12m [39m
|
||||
[38;5;12mTorgersen,[39m[38;5;12m [39m[38;5;12mthe[39m[38;5;12m [39m[38;5;12mlead[39m[38;5;12m [39m[38;5;12mdesigner[39m[38;5;12m [39m[38;5;12mof[39m[38;5;12m [39m[38;5;12mC#.[39m[38;5;12m [39m[38;5;12mInspiring[39m[38;5;12m [39m[38;5;12mstory[39m[38;5;12m [39m[38;5;12mon[39m[38;5;12m [39m[38;5;12mhow[39m[38;5;12m [39m[38;5;12mRoslyn[39m[38;5;12m [39m[38;5;12mproject[39m[38;5;12m [39m[38;5;12mstarted[39m[38;5;12m [39m[38;5;12mand[39m[38;5;12m [39m[38;5;12mwhy,[39m[38;5;12m [39m[38;5;12mand[39m[38;5;12m [39m[38;5;12mwhat[39m[38;5;12m [39m[38;5;12mit[39m[38;5;12m [39m[38;5;12mtook[39m[38;5;12m [39m[38;5;12mto[39m[38;5;12m [39m[38;5;12mmake[39m[38;5;12m [39m[38;5;12mit[39m[38;5;12m [39m[38;5;12mopen[39m[38;5;12m [39m[38;5;12msource.[39m
|
||||
[38;5;12m-[39m[38;5;12m [39m[38;5;14m[1mInside[0m[38;5;14m[1m [0m[38;5;14m[1mthe[0m[38;5;14m[1m [0m[38;5;14m[1m.NET[0m[38;5;14m[1m [0m[38;5;14m[1mCompiler[0m[38;5;14m[1m [0m[38;5;14m[1mPlatform[0m[38;5;14m[1m [0m[38;5;14m[1m–[0m[38;5;14m[1m [0m[38;5;14m[1mPerformance[0m[38;5;14m[1m [0m[38;5;14m[1mConsiderations[0m[38;5;14m[1m [0m[38;5;14m[1mduring[0m[38;5;14m[1m [0m[38;5;14m[1mSyntax[0m[38;5;14m[1m [0m[38;5;14m[1mAnalysis[0m[38;5;14m[1m [0m[38;5;14m[1m(#SpeakRoslyn)[0m[38;5;12m [39m[38;5;12m(https://robinsedlaczek.com/2015/04/29/inside-the-net-compiler-platform-performance-considerations-during-syntax-analysis-speakroslyn/)[39m[38;5;12m [39m[38;5;12m-[39m[38;5;12m [39m
|
||||
[38;5;12mIn-depth[39m[38;5;12m [39m[38;5;12mlook[39m[38;5;12m [39m[38;5;12mat[39m[38;5;12m [39m[38;5;12mRoslyn's[39m[38;5;12m [39m[38;5;12mperformance[39m[38;5;12m [39m[38;5;12mwith[39m[38;5;12m [39m[38;5;12mthe[39m[38;5;12m [39m[38;5;12mfocus[39m[38;5;12m [39m[38;5;12mon[39m[38;5;12m [39m[38;5;12mmemory[39m[38;5;12m [39m[38;5;12mconsumption.[39m
|
||||
[38;5;12m-[39m[38;5;12m [39m[38;5;14m[1mPersistence,[0m[38;5;14m[1m [0m[38;5;14m[1mFacades[0m[38;5;14m[1m [0m[38;5;14m[1mand[0m[38;5;14m[1m [0m[38;5;14m[1mRoslyn's[0m[38;5;14m[1m [0m[38;5;14m[1mRed-Green[0m[38;5;14m[1m [0m[38;5;14m[1mTrees[0m[38;5;12m [39m[38;5;12m(https://blogs.msdn.microsoft.com/ericlippert/2012/06/08/persistence-facades-and-roslyns-red-green-trees/)[39m[38;5;12m [39m[38;5;12m-[39m[38;5;12m [39m[38;5;12mInspiring[39m[38;5;12m [39m[38;5;12mintroduction[39m[38;5;12m [39m[38;5;12mon[39m[38;5;12m [39m[38;5;12mhow[39m[38;5;12m [39m[38;5;12mRoslyn[39m[38;5;12m [39m[38;5;12mteam[39m[38;5;12m [39m[38;5;12mimplemented[39m[38;5;12m [39m[38;5;12mimmutable,[39m[38;5;12m [39m[38;5;12mreusable[39m[38;5;12m [39m[38;5;12mtrees[39m[38;5;12m [39m[38;5;12mwith[39m[38;5;12m [39m
|
||||
[38;5;12mcheap[39m[38;5;12m [39m[38;5;12mparent[39m[38;5;12m [39m[38;5;12mreferences[39m[38;5;12m [39m[38;5;12mand[39m[38;5;12m [39m[38;5;12mmany[39m[38;5;12m [39m[38;5;12mother[39m[38;5;12m [39m[38;5;12mgoodies.[39m[38;5;12m [39m[38;5;12mQuote:[39m[38;5;12m [39m[38;5;12m"But[39m[38;5;12m [39m[38;5;12mon[39m[38;5;12m [39m[38;5;12mthe[39m[38;5;12m [39m[38;5;12mRoslyn[39m[38;5;12m [39m[38;5;12mteam[39m[38;5;12m [39m[38;5;12mwe[39m[38;5;12m [39m[38;5;12mroutinely[39m[38;5;12m [39m[38;5;12mdo[39m[38;5;12m [39m[38;5;12mimpossible[39m[38;5;12m [39m[38;5;12mthings"[39m[38;5;12m [39m[38;5;12m:-)[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mReSharper and Roslyn: Q&A[0m[38;5;12m (https://blog.jetbrains.com/dotnet/2014/04/10/resharper-and-roslyn-qa/) - Excellent explanation why ReSharper will not use Roslyn. Includes good discussion on static code analysis and some limits of Roslyn.[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mRoslyn performance (Matt Gertz)[0m[38;5;12m (https://blogs.msdn.microsoft.com/csharpfaq/2014/01/15/roslyn-performance-matt-gertz/) - Insight on how Roslyn team approaches the topic of evaluating and achieving performance.[39m
|
||||
|
||||
[38;2;255;187;0m[4mTalks[0m
|
||||
[38;5;12mAwesome public talks about Roslyn.[39m
|
||||
|
||||
[38;5;12m- [39m[38;5;14m[1mThe Power of Roslyn[0m[38;5;12m (https://www.youtube.com/watch?v=nXljhGDokqA) - Great talk by Kasey Uhlenhuth at NDC Oslo 2018 covering Roslyn essentials and APIs and tools for building code analyzers and fixes.[39m
|
||||
|
||||
[38;2;255;187;0m[4mContribute[0m
|
||||
|
||||
[38;5;12mContributions are welcome :-) The goal is to build a categorized community-driven collection of awesome Roslyn resources. Before contributing, please make sure to read the [39m[38;5;14m[1mcontribution guidelines[0m[38;5;12m (contributing.md).[39m
|
||||
|
||||
[38;2;255;187;0m[4mLicense[0m
|
||||
[38;5;14m[1m![0m[38;5;12mCC0[39m[38;5;14m[1m (http://mirrors.creativecommons.org/presskit/buttons/88x31/svg/cc-zero.svg)[0m[38;5;12m (http://creativecommons.org/publicdomain/zero/1.0)[39m
|
||||
|
||||
[38;5;12mTo the extent possible under law, Igor Rončević has waived all copyright and related or neighboring rights to this work.[39m
|
||||
|
||||
[38;5;12mroslyn Github: https://github.com/ironcev/awesome-roslyn[39m
|
||||
Reference in New Issue
Block a user