Mac*_*iej 27 c# resharper code-formatting
Google员工注意,此问题有些过时,因为ReSharper 2017.3.1的当前版本现在支持所请求的功能
我喜欢格式化我的代码以对齐相等操作数的右侧.
像这儿:
bool canRead = false;
bool canReadClass = true;
string className = boType.Name;
Run Code Online (Sandbox Code Playgroud)
我最近切换到ReSharper并发现它非常有用,但找不到允许我以描述的方式格式化代码的选项.
你知道是否有这样的选项/插件?
也许除了ReSharp解决方案之外您还知道吗?
编辑:
如何决定代码的哪一部分应该对齐?
我的约定是将所有变量对齐在同一个块中.
通过"块"我的意思是部分代码没有被空行分割.
例如
// First block
int count = 10;
string name = "abc";
bool calculate = true;
.....
.....
// Second block
MyOwnType myType = new MyOwntype();
int count = 10;
Run Code Online (Sandbox Code Playgroud)
Iga*_*nik 10
在ReSharper中,(目前)无法开箱即用.幸运的是,ReSharper具有非常丰富的可扩展性API(尽管文档记录很少).我花了很多时间与Reflector一起试图解决问题.
我们为我工作的公司中的类成员使用类似的对齐准则(极端地,我们还对齐方法参数).我为ReSharper写了一个插件来帮助我做到这一点.这是一个"代码清理"模块,它在代码清理期间运行(Ctrl- E,Ctrl- F),并为您调整代码.sealed如果可能的话,它也会上课.
一些例子:
方法参数:
public void DoSomething(string name,
int age,
IEnumerable coll)
Run Code Online (Sandbox Code Playgroud)
(您需要在选项 - >格式样式 - >换行和换行中将Wrap形式参数更改为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";
Run Code Online (Sandbox Code Playgroud)
请注意,编译/调试它需要几件事:
使用输出DLL的正确路径更新Command Line Arguments
in Debug选项卡Project
Properties:
/ReSharper.Plugin"X:\<projects>\MyCompany.CodeFormatter\MyCompany.CodeFormatter\bin\Debug\MyCompany.CodeFormatter.dll"
这允许通过调试插件 F5,它将自动安装在将打开的新Visual Studio实例中的ReSharper插件中.
C:\Program Files\JetBrains\ReSharper,则必须修复引用.安装完成后,只需运行Code Cleanup以修复对齐(不幸的是,我从未得到JetBrains的回复,关于如何在大括号/分号格式化期间执行此操作).
大会改名为保护无辜者:)
祝好运!
Der*_*ler 10
我认为值得注意的是Visual Studio Productivity Power Tools具有Align Assignments功能.这是Visual Studio 2013 Productivity Power Tools的链接.
| 归档时间: |
|
| 查看次数: |
8230 次 |
| 最近记录: |