如何在保存时配置ReSharper的代码清理?

Tho*_*sen 39 resharper visual-studio

每当我保存文件时,我都希望将Visual Studio/ReSharper配置为运行"代码清理".

一个额外的好处是只为C#文件配置它,因为我有时会发现ASP.NET文件的清理在没有引入错误的情况下不起作用.

Joh*_*lan 29

你可以录制一个宏(Ctrl+ E,Ctrl+ C,Run,Ctrl+ S).然后运行它而不是保存.然后,您需要做的就是为您的宏分配CTRL+ S.

Public Module RecordingModule
    Sub CLEAN_AND_SAVE()
    DTE.ExecuteCommand ("ReSharper.ReSharper_CleanupCode")
    DTE.ActiveDocument.Save
    End Sub
End Module
Run Code Online (Sandbox Code Playgroud)

此方法将显示代码清理对话框,您必须在其中选择"运行".

要删除用户交互,您必须选择在调用代码清理时运行的配置文件.您可以通过进入ReSharper |来配置它 选项| 工具| 代码清理并在"使用静默清理的配置文件"下拉列表中选择配置文件.它也可以在这里创建自定义配置文件,以指定要对代码进行哪些更改.在4.5中,它不允许您省略aspx页面.唯一的区别是C#和VB.Net.

有用的链接:http://www.jetbrains.com/resharper/features/code_formatting.html

  • 如果你想静默运行清理,那么你需要`ExecuteCommand("ReSharper_SilentCleanupCode")`而不是设置一个静默代码清理选项 (6认同)
  • 不适用于VS2012,对宏的支持被删除(http://stackoverflow.com/a/12065139/23805) (5认同)

Ped*_*iro 16

我刚刚发布了一个免费的Visual Studio扩展,可以自动化类似的脚本,以便于设置.您可能想在http://blog.pedropombeiro.com/keeping-code-formatted-the-easy-way/上尝试一下.

  • 谢谢,你刚刚把我从这里写下来:) (4认同)
  • 将它实现为使用新ReSharper Extension Manager部署的ReSharper插件可能会很有趣. (4认同)

Lec*_*ski 14

这是我的第一篇文章(万岁!)请原谅我,如果它在任何方面都不完美......

问题是关于R#,但你也提到过(Visual Studio/ReSharper),所以也许我的提示可以帮助某人.在名为"Productivity Power Tools"的Visual Studio扩展中,有两个选项(在工具 - >选项 - >生产力电动工具 - > PowerCommands:常规):

  1. 保存时格式化代码.
  2. 在保存时删除并排序使用.

即使安装了R#,我也觉得PPT很好用.您可以从Visual Studio Gallery(2012版本,但也有2010和2013版本)获取它们.


MSk*_*uta 11

更新 Resharper 2020.2

在 R# 的 2020.2+ 版本中,现在有内置选项可以在保存时运行清理

  1. 选择Resharper 选项( Alt+ R, O)
  2. 代码编辑>代码清理>常规

R# 代码清理设置


Fri*_*Guy 5

我创建了一个扩展以在文件保存时自动调用ReSharper Silent Cleanup:https : //visualstudiogallery.msdn.microsoft.com/43be6ead-dabf-4bb1-b019-1e361efd8410

它仅支持ReSharper静默清除,但是可以工作。

2018注意:由于ReSharper API的更改,此功能在更高的ReSharper版本中停止工作

  • @Odedra 考虑到答案是执行提问者想要的扩展程序,我不确定是否可以在此处添加“答案的基本部分”,除非 StackOverflow 允许我直接上传扩展程序 :: ) (2认同)