Estoy escribiendo un generador de fuente de Roslyn y, como cuestión de principio, me gustaría asegurarme de que la fuente generada (que ahora es visible, se puede depurar, etc.) se adhiere al menos un poco a la configuración del usuario de pestañas frente a espacios, ubicaciones de llaves , etc. No planeo apoyar todo, pero los obvios: seguro.
Asi que; Estoy implementando ISourceGenerator e ISyntaxReceiver , lo que significa que tengo acceso a las API GeneratorInitializationContext , GeneratorExecutionContext y SyntaxNode . Sin embargo, no puedo encontrar ninguna forma de obtener estas configuraciones IDE desde aquí. es posible?
Es posible que esto ni siquiera sea posible debido a la realidad de que estoy hablando de la configuración de IDE y no siempre hay un IDE ; por ejemplo, el usuario podría simplemente estar ejecutando dotnet build en la línea de comando.
(o quizás alternativamente, ¿es posible activar un equivalente de "documento de formato" en el código generado antes de devolvérselo a la persona que llama?)
Como se observa en la conversación, no hay una buena manera de hacer esto (o al menos no a partir de este escrito). Un generador podría intentar usar los valores de un .editorconfig para conocer la configuración de formato si desea reconstruirlo, pero tendría que escribir algo de eso usted mismo en este punto. Mi sugerencia sería hasta que construyamos soporte para esto, simplemente no se preocupe y siéntase libre de dirigir las quejas de los usuarios a esto o al error.
Pase lo que pase, el problema de depuración complica las cosas: el archivo abierto en el IDE debe coincidir con el archivo que se produjo durante la compilación, ya que el depurador espera que se alinee. El .editorconfig al menos significa que ambos lados pueden ver el mismo valor.