Google员工注意,由于ReSharper 2017.3.1的当前版本现在支持所请求的功能,此问题已有些过时
我喜欢格式化我的代码以对齐相等操作数的右侧 像这里:
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# ticket。如果有人有兴趣 please vote!
答案 0 :(得分:10)
在ReSharper中,(目前)无法开箱即用。幸运的是,ReSharper具有非常丰富的可扩展性API(尽管文档记录很少)。我花了很多时间与Reflector一起试图解决问题。
我们为我工作的公司中的类成员使用类似的对齐准则(极端地,我们还对齐方法参数)。我为ReSharper写了一个插件来帮助我做到这一点。这是一个“代码清理”模块,它在代码清理期间运行( Ctrl - E , Ctrl - F )并为您调整代码。如果可能,它还会使班级sealed
。
一些例子:
方法参数:
public void DoSomething(string name,
int age,
IEnumerable coll)
(您需要在选项 - >格式化样式 - >换行和换行中将换行形式参数更改为 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";
<小时/>
请注意,编译/调试它需要几件事:
更新Command Line Arguments
在Debug
的{{1}}标签中,其中包含正确的路径
输出DLL:
Project Properties
/ReSharper.Plugin
这允许通过调试插件 F5 ,它会 自动安装 ReSharper的新插件 Visual Studio实例将会 开。
"X:\<projects>\MyCompany.CodeFormatter\MyCompany.CodeFormatter\bin\Debug\MyCompany.CodeFormatter.dll"
之外的任何其他地方安装了ReSharper,则必须修复引用。安装完成后,只需运行C:\Program Files\JetBrains\ReSharper
即可修复对齐(不幸的是,我从未得到JetBrains的回复,不知道如何在大括号/分号格式化期间执行此操作)。
大会改名为保护无辜者:)
祝你好运!答案 1 :(得分:10)
我认为值得注意的是Visual Studio Productivity Power Tools具有对齐分配功能。 这是Visual Studio 2013 Productivity Power Tools的链接。
答案 2 :(得分:8)
答案 3 :(得分:2)
Productivity Power Tools 2012也有一个命令:ctrl-alt - ]
其他好东西显然也存在。
答案 4 :(得分:1)
据我所知,遗憾的是使用Resharper是不可能的。
答案 5 :(得分:0)
虽然晚了,但是除了@MickyD的评论,Resharper可以为您完成此操作,请参见Resharper blog。转到Resharper /选项/代码编辑/ C#/制表符,缩进,对齐。滚动到右侧窗口窗格中选项的底部,找到“在列中对齐相似的代码”,单击即可享受。