如何在Visual Studio/Resharper中添加类似IntelliJ .sout的.cw后缀模板?
当然可以!作为从Java转C#的开发者,我太懂你想要这种快速输出日志的便捷感了——不管是用Resharper还是Visual Studio原生工具,都能轻松实现类似IntelliJ sout 的 expr.cw 模板,下面给你详细的步骤:
用Resharper创建后缀式expr.cw模板(推荐,完全匹配IntelliJ体验)
Resharper的Postfix Templates就是专门做这种“变量/表达式+后缀触发代码生成”的功能,配置起来超简单:
- 打开Resharper设置:点击顶部菜单栏
Resharper > Options,或者用快捷键Alt+R, O - 在左侧导航栏找到
Code Editing > C# > Postfix Templates - 点击右上角的
+按钮,选择New Template - 在弹出的配置窗口里填写这些内容:
- Name:随便填个好记的,比如
Console.WriteLine Postfix - Abbreviation:输入
cw(这就是你要敲的后缀触发词) - Expression type:选择
Any expression(确保任何变量、字面量或者复杂表达式都能触发) - Template body:输入
Console.WriteLine($EXPR$);,这里的$EXPR$会自动替换成你前面输入的内容 - 记得勾选下方的
Reformat选项,让生成的代码自动格式化
- Name:随便填个好记的,比如
- 点击
Save保存设置,现在回到代码里测试:输入string expr = "John";,在expr后面敲.,输入cw,按Tab或Enter,立刻就生成Console.WriteLine(expr);了!
用Visual Studio原生代码片段实现类似效果
如果你暂时不用Resharper,VS自带的代码片段也能搞定,只是触发方式略有不同:
- 打开代码片段管理器:点击
Tools > Code Snippets Manager,或者用快捷键Ctrl+K, Ctrl+B - 选择
Visual C#分类,点击Import按钮 - 新建一个XML文件,复制下面的代码进去,保存为
cw.snippet:<?xml version="1.0" encoding="utf-8"?> <CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet"> <CodeSnippet Format="1.0.0"> <Header> <Title>cw</Title> <Shortcut>cw</Shortcut> <Description>快速生成Console.WriteLine语句</Description> <Author>自定义</Author> <SnippetTypes> <SnippetType>Expansion</SnippetType> </SnippetTypes> </Header> <Snippet> <Declarations> <Literal> <ID>expr</ID> <ToolTip>要输出的表达式或变量</ToolTip> <Default>expr</Default> </Literal> </Declarations> <Code Language="csharp"><![CDATA[Console.WriteLine($expr$);$end$]]></Code> </Snippet> </CodeSnippet> </CodeSnippets> - 选择刚才保存的
cw.snippet文件导入,完成后就可以用了:- 选中你要输出的变量(比如
expr) - 按
Ctrl+K, Ctrl+X打开代码片段菜单,找到导入的cw片段;或者直接输入cw然后按两次Tab,再替换占位符为你的变量名
- 选中你要输出的变量(比如
两种方法里,Resharper的Postfix Templates完全复刻了你在IntelliJ里的操作习惯,用起来最顺手,推荐优先尝试~
内容的提问来源于stack exchange,提问作者KaliTheGreat
相关产品推荐
相关产品推荐

