C # Code Formatter para Linux e / ou MonoDevelop
-
01-07-2019 - |
Pergunta
MonoDevelop 1.0 não parecem ter um código de formatador como o Eclipse faz para Java. Existe um script shell preferido (ou MonoDevelop add-in?) Que você encontrou para funcionar bem?
Solução
No momento, o código fonte formatação em MonoDevelop é marcado como um acessório de futuro: https://bugzilla.novell.com/show_bug.cgi?id=321946
Enquanto isso, você pode querer verificar para fora Estilo artístico para C # formatação: http://astyle.sourceforge.net/
Eu estou planejando para ver como isso pode ser ligado como uma ferramenta externa dentro MonoDevelop. Se eu chegar a isso, eu vou editar a minha resposta com a informação. UPDATE: Eu não tenho reputação suficiente para deixar um comentário, por isso vou fazer um aqui: Bom trabalho, Dustin, e patch para MonoDevelop também :-) Eu me pergunto como o recente versão é que está incluído no Ubuntu ... de qualquer maneira, estou feliz que você encontrou algo que funciona para você.
Outras dicas
Obrigado, Brandon. Eu enviei um patch para MonoDevelop. O problema com MonoDevelop add-ins é que há um erro compilador mono que não lidar com delegados anônimos corretamente. (Relatório de bug: https://bugzilla.novell.com/show_bug.cgi?id= 394347 )
O patch / solução é apenas lançar o delegado anônimo para o tipo de delegado adequada. (Relatório de bug & patch: https://bugzilla.novell.com/show_bug.cgi? id = 369538 )
Eu estou correndo com a versão corrigida e agora sou capaz de executar astyle sobre o documento editado atual, basta criar uma nova configuração ferramenta externa com as seguintes configurações:
TÍTULO: A_Style (colocar em sublinhado para permitir hotkeys) COMANDO: astyle Argumentos: $ {ItemPath}
Em seguida, basta executá-lo usando Ferramentas-> astyle (ou ALT-T, S)
9/25/08 Edit - Acabei de colocar um post em seu blog sobre como corrigir MonoDevelop 1.0 e fazê-lo funcionar com astyle: http://dustinbreese.blogspot.com/2008/09/auto-formatting-code-in-monodevelop-10.html
É um exercício de programação bom para escrever seu próprio formatador. Eu escrevi um para C ++, e foi um desafio agradável. Você poderia aprender muito escrevê-lo:)