Resharper如何为包围模板添加末尾换行符优化代码排版
Resharper if包围代码右大括号无自动换行问题解决方案
问题修复步骤
- 调整包围模板内容
打开Resharper设置面板,依次进入Extensions > ReSharper > Tools > Templates Explorer,切换到「Surround Templates」标签页,在C#分类下找到if对应的模板,点击编辑。
将模板内容修改为以下结构,确保右大括号后新增一行空行:
if ($CONDITION$) { $SELECTION$$END$ }
保存模板修改。
2. 调整C#格式化规则
模板修改不生效通常是因为Resharper的代码格式化规则优先级更高,会覆盖模板内的换行配置,需要额外调整规则:
- 进入Resharper设置的
Code Editing > C# > Formatting Style > Braces Layout路径,勾选右大括号后强制换行选项 - 切换到同分类下的
Line Breaks and Wrapping页,找到「右大括号后换行」配置项,将值修改为始终新增换行
- 确认模板自动格式化配置
回到Templates Explorer界面,确认if模板的Reformat选项为勾选状态,确保应用模板后会自动执行格式化规则,应用换行配置。
修改完成后重启Visual Studio即可生效。
包围模板常用内置标签列表
Resharper Surround Template的常用内置标签如下:
$SELECTION$:固定指代用户选中的、需要被模板包围的代码片段$END$:模板应用完成后,光标最终停留的位置$CONDITION$:if模板内置的参数占位符,应用模板时会自动聚焦供用户输入判断条件$VAR$:通用变量占位符,可自定义配置默认取值、命名规则$NAME$:通用名称占位符,Resharper会根据上下文自动生成推荐命名供选择
内容的提问来源于stack exchange,提问作者Eric Snyder
相关产品推荐
相关产品推荐

