ReSharper格式化:对齐相等的操作数

Google员工注意 ,此问题有些过时,因为当前版本的ReSharper 2017.3.1现在支持所请求的function

我喜欢格式化我的代码以对齐相等操作数的右侧。
像这儿:

bool canRead = false; bool canReadClass = true; string className = boType.Name; 

我最近切换到ReSharper并发现它非常有用,但找不到允许我以描述的方式格式化代码的选项。

你知道是否有这样的选项/插件?
也许除了ReSharp解决方案之外您还知道吗?

编辑:
如何确定代码的哪一部分应该对齐?
我的约定是将所有变量对齐在同一个块中。
通过“块”我的意思是部分代码没有被空行分割。

例如

 // First block int count = 10; string name = "abc"; bool calculate = true; ..... ..... // Second block MyOwnType myType = new MyOwntype(); int count = 10; 

编辑-2
我为此开了R#票 。 如果有兴趣的话请投票 !

在ReSharper中,(目前)无法开箱即用。 幸运的是,ReSharper具有非常丰富的可扩展性API(尽管文档记录很少)。 我花了很多时间与Reflector一起试图解决问题。

我们为我工作的公司中的类成员使用类似的对齐准则(极端地,我们还对齐方法参数)。 我为ReSharper写了一个插件来帮助我做到这一点。 这是一个“代码清理”模块,它在代码清理期间运行( CtrlECtrlF ),并为您调整代码。 如果可能的话,它也会使课程sealed

一些例子

方法参数:

 public void DoSomething(string name, int age, IEnumerable coll) 

(您需要在选项 – >格式样式 – >换行和换行中将Wrapforms参数更改为Chop ,以使其正常工作)

常量:

 private const int RESOURCEDISPLAYTYPE_DOMAIN = 0x00000001; private const int CONNECT_COMMANDLINE = 0x00000800; private const int CONNECT_INTERACTIVE = 0x00000008; private const string RESOURCE_NAME = "Unknown"; 

您可以从我的SkyDrive下载源代码。
编辑我似乎无法访问该SkyDrive,也丢失了文件。 这是在github之前:(

请注意,编译/调试它需要几件事:

  1. 使用输出DLL的正确路径更新“ Project Properties中“ Debug选项卡中的Command Line Arguments

    /ReSharper.Plugin "X:\\MyCompany.CodeFormatter\MyCompany.CodeFormatter\bin\Debug\MyCompany.CodeFormatter.dll"

    这允许通过F5调试插件,它将自动安装在将打开的新Visual Studio实例中的ReSharper插件中。

  2. 该插件适用于ReSharper 4.5,它引用了此版本的DLL。 如果您在除C:\Program Files\JetBrains\ReSharper之外的任何其他地方安装了ReSharper,则必须修复引用。
  3. 这不会在方法中对齐变量,但是添加起来应该不难:)

安装完成后,只需运行Code Cleanup来修复你的对齐方式(不幸的是,我从未得到JetBrains的回复,关于如何在大括号/分号格式化过程中这样做)。

大会改名为保护无辜者:)

祝好运!

我认为值得注意的是Visual Studio Productivity Power Tools具有Align Assignmentsfunction。 这是Visual Studio 2013 Productivity Power Tools的链接。

你可以尝试这个: 代码对齐

它支持

  • 对齐…(对话框)
  • 按位置对齐…(对话框)
  • 按等于对齐
  • m_对齐
  • 对齐“
  • 对齐。
  • 按空间对齐

生产力Power Tools 2012还有一个命令:ctrl-alt-]

其他好东西显然也存在。

据我所知,遗憾的是,使用Resharper是不可能的。