Lo que me gusta de la CLI de dotnet es que puede ejecutar $ dotnet build --no-incremental y siempre obtiene una lista de todas las advertencias en su proyecto. Lo uso para hacer cambios radicales, y demás, en proyectos. La salida de eso se puede canalizar a las herramientas de Unix, para su posterior procesamiento.
También me gustaría obtener eso para las 'sugerencias' que recibe en Visual Studio. ¿Es eso posible, y cómo?
Lo que quiero decir con sugerencias son los "mensajes" que recibe en la "Lista de errores..." en Visual Studio (ver más abajo). El compilador llama a esto "Información que no indica un problema" ( DiagnosticSeverity.Info ), EditorConfig llama a estas sugerencias ( EditorConfigSeverityStrings.Suggestion ). 
Una reproducción mínima para esto es crear una nueva aplicación de consola y agregar una nueva clase con un campo privado, ¡pero no la hagas de solo readonly (ver más abajo)! Esto activará IDE044 (como en la captura de pantalla), pero no aparecerá cuando se ejecute $ dotnet build --no-incremental . Si anula la gravedad a través del archivo .editorconfig , la sugerencia aparece, pero obviamente como advertencia.
public class Class1 { private string Foo = "bar"; }.editorconfig [*.cs] # IDE0044: Add readonly modifier dotnet_diagnostic.IDE0044.severity = warning Estoy buscando algo "listo para usar", así que algo como $ dotnet build ... . Sin embargo, si eso no es posible, estaría bien usar una herramienta global de terceros, como la interfaz de línea de comandos de Roslynator (probé ese camino, pero no logré que funcionara).
Soy muy consciente de que podría escribir una herramienta personalizada, además de la API de Roslyn, pero creo que es bastante frágil, ya que debe atender todas las complejidades de la restauración de paquetes, encontrar MSBuild, etc. Creo que esto es realmente algo que debería estar disponible de inmediato, o de lo contrario merece un problema en un proyecto anterior.
No sé si te funciona, pero puedes usar la propiedad ErrorLog en el proyecto para enviar todos los diagnósticos a un archivo SARIF .