热门排行
简介
JetBrains ReSharper Command Line Tools(CLT) 是一套免费的独立命令行工具,让您能够在 Visual Studio 外部运行 ReSharper 检查和查找重复代码。该工具可以和 CI 服务、代码质量管理服务器或版本控制系统集成。
在非Windows操作系统上,可以放心地使用强大的ReSharper代码分析,在Visual Studio之外执行上百种ReSharper代码检查和查找重复代码。无需安装ReSharper,也无需与持续集成或代码质量管理服务器集成,即可使用此工具。
ReSharper 命令行工具免费提供,无需许可证密钥。
功能特色
1、代码质量分析
ReSharper可提供对C#, XAML, XML, ASP.NET和ASP.NET MVC的持续的代码质量分析,甚至在用户对之进行编译以前即可检测到错误和问题。ReSharper可对用户的代码提供900多种代码检验,用户便可即刻 察觉到其当前文件或者甚至整个解决方案中是否包含了错误和故障。对大多数错误,它立即通过智能修正给出解决问题的方法。它也可以给出编码建议和线索,这些东东提供洞察代码结构和逻辑,并使引起你对潜在的设计错误注意。你也可以注释你代码以使ReSharper更好的分析你的代码。
2、导航和搜索
无论什么时候你需要查找某个类型,字段,方法,或任何其他的标识,ReSharper提供了多种实现方法,可以通过名称查找一个标识,在代码从引用位置导航到标识的声明位置,查找并高亮显示标识用法。可以在当前位置使用简单的快捷方式实现所有可用的导航行为。另外,使用集成到Visual Studio用户接口的特别工具窗口,ReSharper可以让你看到完整的类型继承树和文件结构。ReSharper对最近编辑扩展了一系列的导航和搜索的特性—你最近修改的文件或标识的下拉列表。
3、代码协助
ReSharper提供许多简化代码任务的快捷方式以提高你的生产力和节省你的时间。在上面的截屏中,ReSharper智能的建议你添加遗漏的using或在你输入类型名称时导入正确的全名。它可以使用不同的代码模板快速的生成代码,在编辑器中查看类型和他们的成员的文档,使用称为“上下文动作”(context actions)执行代码转换,还有其他更多的。
ReSharper使用三种代码完成类型来扩展和提高Visual Studio本身的智能化。标识完成建议只存取在当前作用域的类型。智能完成任务非常有效,实时过滤成员方法和变量以匹配你输入的表达式。导入符号完成,使在当前项目中完成类型名名称和扩展方法成为可能。它也在需要的时候自动添加适当的using引用。另外还有语句完成,使用一个简单的快捷键就可以自动添加必要的语法元素(大括号,分号等),并把光标放置到适当的位置以开始下一句。
4、代码重构
与Visual Studio 2005/2008/2010相比,ReSharper提供了更丰富的自动代码重构功能。用户可使用许多不同的重构方法以进行重命名,移动,安全删除标识;导入和内联字段、变量和参数等等。
5、代码清理
代码清理是一个数十个ReSharper特性的快捷方式(Code Cleanup is a shortcut for a dozen of ReSharper features),根据自定的风格格式化代码,排列“this”限定词,移除冗余的代码,根据候补字段转换成自动属性,把字段置为只读,优化using命令,适当的简化引用,更新文件头,使用vars替换显式类型,或使用更多的设置修改你的C#代码。
6、集成单元测试
ReSharper自动侦查代码中的单元测试,并提供完整的单元测试支持。你能从代码编辑器中运行和调试测试。同时,一个专用的单元测试资源窗口会让你看到你的单元测试的结构和运行一个或多少单元测试会话的任意组合测试。
7、ASP.NET编辑
利用错误高亮显示,快速修正,上下文动作,代码协助,导航,重构,和其他特征,用户现在可以愉悦而高效的编辑ASP.NET文件。使用ReSharper,你可以不受打扰的在ASP.NET中编辑和重构C#代码,如Web控件属性和事件,数据源,和内容点位符。
8、XAML编辑
有了ReSharper,用户无论是在进行Silverlight, WPF, 或者 Windows Phone 7 开发时,均可获得附加的XAML编辑协助,包括即时代码分析,代码重构,代码生成和调整,以及快速的解决方案范围导航。
9、交叉语言功能
为了混合C#和VB.net项目,ReSharper帮助你保持代码的各个部分在一起流畅的工作和在你的代码间轻松的导航。所有导航和搜索动作把所有语言的代码都考虑在内,包括C#,VB.net,Asp.net,和XAML。你可以导航到使用,声明,继承,基类和更多—交叉语言。无论何时只要可能,都会由使用重构、上下文动作、或覆盖两个主要语言的快速修改进行自动引用修正。单元测试是可用的,并且无论使用C#或VB.net写单元测试都是一样的用。
10、NAnt和MS Build脚本编辑
高级编辑性能(Advanced editing capabilities),之前只针对C#可以用,现在扩展到了NAnt和MSBuild脚本,为生成脚本提供了完整的代码协助,大量的导航和搜索特征,文件结构,实时错误高亮显示和快速修改。
11、XML支持
ReSharper提供了一些省时的XML特征,包括类型完成,导航到引用类型,高亮显示,替换和移动标签,在两个标签之间导航和打开/关闭标签,使用代码协助和活模板。
12、XAML支持
XAML特征包括XAML代码中的XML编辑,所有的ReSharper代码完成特征,几个重构(包括重命名重构),和实时错误提示,语义和语法分析。上面的截屏中显示在XAML资源中的敏捷的代码完成工作。
2024功能更新
ReSharper 2024.2 最新变化
ReSharper 2024.2 引入了对 .NET 9 Preview SDK 的支持,包括一组初始的 C# 13 功能,例如 ref struct 接口实现、新的 \e 转义序列和 params 修饰符重构。C++ 支持现已包含 C++23 功能、工具提示中的类型布局信息以及改进的 Unreal Engine 项目支持。此版本还包含第一阶段的简体中文、韩语和日语本地化,提高性能的异步输入,以及带有改进的语言模型、编辑器内代码建议和新的 Explain with AI(使用 AI 解释)等功能的 AI Assistant 增强。
.NET 9 预览 SDK 支持
ReSharper 2024.2 搭载了对 .NET 9 Preview SDK 的支持,包括对新的转义字符、params 修饰符重构和 ref struct 接口等 C# 13 功能的初步支持。
C# 支持
在最新版本中,ReSharper 加深了对 C# 12 功能的支持,包括主构造函数、增强的集合表达式以及改进的用于数组创建和集合类型转换的上下文操作。此外,ReSharper 2024.2 引入了对 C# 13 的初步支持,包括 ref struct 接口实现、新的 \e 转义序列和 params 修饰符重构。
本次更新还带来了:
增强的结构体类型相等分析。
用于减少分支结构中的重复的 Extract common code(提取通用代码)检查。
ToString() 格式说明符代码补全中的区域性预览。
使用显式类型注解替换脆弱的 C 样式转换的转换表达式分析。
C++ 支持的显著增强包括:
对额外 C++23 功能的支持,包括多维下标运算符、#elifdef 和 #elifndef 预处理程序指令以及 [[assume]] 特性。
工具提示和快速文档弹出窗口现在提供有关类和类字段的类型布局的详细信息,包括大小、对齐、偏移和填充。
在 Unreal Engine 项目中,ReSharper 可以识别结构体特征,确保结构体具有所需方法,并在缺失时快速生成。新检查可以检测对基类方法的缺失调用。
Rename(重命名)重构添加了在重命名文件时重命名相关文件和类型的新选项。
代码分析改进包括对 Clang-Tidy 18 的更新以及对 IWYU 指令的支持。
本地化
ReSharper 2024.2 拉开了简体中文、韩语和日语本地化第一阶段的序幕!您将获得部分本地化的 UI、代码检查、工具窗口和通知。要本地化 ReSharper,请转到 ReSharper Options | Environment | General | Localization | Interface language(选项 | 环境 | 常规 | 本地化 | 界面语言),然后从下拉列表选择所需选项。
性能
已启用异步输入
异步输入旨在使 ReSharper 在 Visual Studio 进程外运行,这是提升 ReSharper 性能的持续工作的一部分。ReSharper 2024.2 是第一个体现这一重要更改的产品版本。我们的内部测试表明,启用异步输入可以显著改善输入体验流畅度。我们期待通过问题跟踪器了解您的反馈。
AI Assistant
更新的模型和上下文收集
我们已经根据任务从较旧的 GPT 3.5 和 GPT 4 模型升级到 GPT-4o 和 Google Bison。此外,我们的 AI 补全和 AI 聊天的上下文收集也已更新,通过这个新模型提供更相关的结果。
Ask AI
有新问题要问 AI 时,您不再需要打开 AI 聊天。调用 Ask AI 并直接提问即可。
反编译器
常规增强
lambda 形参:我们引入了对使用可选和形参数组形参反编译 lambda 的支持,有助于增强反编译代码的可读性和准确性。
lambda 上的特性:工具现在提供了改进的 lambda 表达式特性处理,可以确保所有相关元数据都准确反映在反编译的输出中。
受保护程序集:我们引入了指定是否反编译受保护程序集的功能,从而提供更全面的代码探索。
......