Chapter 1, Writing Diagnostic Analyzers, enables developers to write diagnostic analyzer extensions to the C# compiler and Visual Studio IDE to analyze source code and report warnings and errors. End users will see these diagnostics on building the project from the command line or Visual Studio and see them live while editing the source code in the Visual Studio IDE.
Chapter 2, Consuming Diagnostic Analyzers in .NET Projects, enables developers in the C# community to harness third-party Roslyn diagnostic analyzers for their C# projects. You will learn how to search, install, view, and configure diagnostic analyzers in Visual Studio.
Chapter 3, Writing IDE Code Fixes, Refactorings, and IntelliSense Completion Providers, enables developers to write code fix and code refactoring extensions to the Visual Studio IDE to edit C# source code to fix compiler/analyzer diagnostics and refactor source code, respectively. It also enables developers to write completion provider extensions to the C# IntelliSense in the Visual Studio IDE for an enhanced code editing experience.
Chapter 4, Improving Code Maintenance of C# Code Base, enables developers in the C# community to improve the code maintenance and readability of their source code by using the analyzers and code fixes that are built into the Visual Studio IDE, as well as some popular third-party implementations.
Chapter 5, Catch Security Vulnerabilities and Performance Issues in C# Code, enables C# community developers to catch security and performance issues in their C# code base by using popular third-party analyzers such as PUMA scan analyzers and FxCop analyers.
Chapter 6, Live Unit Testing in Visual Studio Enterprise, enables developers to use the new Roslyn-based feature in the Visual Studio 2017 Enterprise edition that enables smart live unit test (LUT) execution in the background. LUT automatically runs the impacted unit tests in the background as you edit code, and visualizes the results and code coverage live, in the editor, in real-time.
Chapter 7, C# Interactive and Scripting, enables developers to use C# interactive and scripting features in Visual Studio. C# scripting is a tool for quickly testing out C# and .NET snippets using a REPL (read-evaluate-print-loop), without the effort of creating multiple unit testing or console projects.
Chapter 8, Contribute Simple Functionality to Roslyn C# Compiler Open Source Code, enables developers to add new functionality to the open source Roslyn C# compiler. You will learn how to implement new C# compiler errors, add unit tests for them, and then send a pull request for your code changes to the Roslyn repo to incorporate them in the next version of the C# compiler.
Chapter 9, Design and Implement a New C# Language Feature, enables developers to design a new C# language feature and implement various compiler phases for this feature in the open source Roslyn C# compiler. You will learn the following aspects of compiler design and implementation: language design, parsing, semantic analysis and binding, and code generation, with suitable code examples.
Chapter 10, Command-Line Tools Based on Roslyn API, enables developers to write command-line tools using the Roslyn Compiler and Workspaces API to analyze and/or edit C# code.