ReSharper 是 Visual Studio .NET 的插件，主要提升 VS.net 程式碼編輯能力和即時錯誤顯示功能，並支援重構，包括對 C#、VB.net、XML、XAML 和 ASP.net，為開發人員 提供許多能夠有效提高生產力的功能，並包括這些語言的交叉關聯引用。
ReSharper 讓 Visual Studio 開發人員更加便捷，包括程式碼分析、單元測試方案、Goto Symbol 支援、To-do 探測器代碼智慧幫助,高亮度顯示即時糾錯以及重新參數化等功能。超過 30 種特性，ReSharper 可以說是輔助 Visual Studio 開發的一把瑞士軍刀，將 IntelliJ IDEA 在程式碼編輯方面的智慧特性全面帶入到 Visual Studio 中，積極提升.net 開發人員的工作效率。分為：
►ReSharper Ultimate: Includes ReSharper, ReSharper C++ (currently in Beta) plus JetBrains .NET profilers and code coverage tool.
The brand new Localization Manager helps you work more efficiently with loads of .resx files in your solution. It shows everything you have in your .resx files in one single grid, so you can observe the current state of the application or website localization and quickly find any missing resource values in any culture.
- Add, edit, rename, search for, inline, move, and safely delete any localized resources.
- Find all the resources that are missing localized values.
- Hide any locales you don’t need right now.
- Create missing culture .resx files.
- See a tooltip that shows a detailed description of what the problem is with the cell.
Check out the Localization Manager under ReSharper | Windows or in the context menu in the Solution Explorer.
Even Better C# 8 support
The new ReSharper release handles C# 8 even better. It now includes:
- A better understanding of Nullable Reference types including support for notnull constraints.
- Target-typed switch expressions.
- Early support for default interface methods.
- A new hint, “Local function can be static”, with an accompanying quick-fix.
- A new quick-fix to enable nullable annotations and warnings in a file, project, or all projects in a solution.
- A new quick-fix to add the EnumeratorCancellation attribute to CancellationToken parameters of async iterators.
Additionally, the code inspection “Type or type member is never used” has been split into two separate options, one for types (“Type is never used”) and another for type members (“Type member is never used”).
The Generate action knows more about C# 8 and helps you learn, too, with:
- A new quick-fix Add missing arms to check enum values exhaustively.
- A new quick-fix and context action to generate type patterns in switch expressions.
- Nullability being taken into account when generating equality/relational members/comparers.
Also, there is a new option to use System.HashCode to implement GetHashCode when generating equality members or equality comparers for C# and VB.NET, which will help make your code cleaner.
In this release, we’ve delivered on one more long-awaited request. C# naming settings now support reading from/exporting to EditorConfig.
In addition to this huge change, there are several smaller changes that give you more control over the style of your code:
- For those who prefer to use var instead of explicit types only when the type of initializer expression is evident/apparent, ReSharper can now detect more “evident” cases. There is also a “compatibility” mode to match the Roslyn behavior.
- There is a new code style option, which is compatible with StyleCop and Roslyn, to add parentheses that clarify precedence only for a group of operators nested with others from the same group. For example, if you can’t remember whether && or || takes precedence, this option will help you to clarify it with parenthesis.
- Comment Code now adds an indent to a comment by default. There’s a new setting to “Place comments at first column when commenting out code” if you want to turn it off.
- The options pages to set up indentations now display the appropriate notification when the Autodetect indent size and value setting is ON.
- There is also a notification tooltip explaining the Configure formatting and Autodetect formatting features on the C# formatter options pages.
Cross-platform ReSharper Command Line Tools
People often asked us whether it was possible to run ReSharper Command Line Tools on a CI hosted on Linux. For a long time, our answer was, “No, it can’t be done.” However, we worked hard to remove all Windows-specific parts so that we could move everything to Mono runtime for Linux and macOS. Don’t worry, it still uses the .NET Framework on Windows.
Today we are happy to announce that ReSharper Command Line Tools have come to Linux and macOS! Nothing is stopping you from using the powerful ReSharper code analysis on non-Windows operating systems.
Type Name Hints
We hope you like the Parameter Name and Code Annotations hints that we introduced in ReSharper 2019.1. In this release, we’ve gone further and are now ready to give you Type Name Hints. They are available for:
- A lambda’s parameters.
- All var occurrences, including pattern matching and tuples deconstruction.
- Range variables inside LINQ statements.
- At the end of a line in a method call chain.
Navigation and Find Usages
Most of us have times when we want to know where a particular reference is used in our code. For a long time, it was possible to run the “Find dependent code” action on a reference to find all the places where types or type members from that reference appeared. However, there have always been limitations. Starting with the 2019.3 release, we’ve eliminated a couple of them:
- Find dependent code now works for NuGet references and can be run for a whole solution instead of just a project!
- Consuming APIs extends “Navigate to” actions and might be helpful if you want to list all methods that receive objects of a specific type in their parameters.
- The Find results window for Find dependent code has new filters.
- You can now navigate to the external sources of NuGet packages that have a source symbols package.
Unit Testing update
Unit Testing tool windows are already in great shape and cover most of what we would expect from them. Still, we thought we could add more ways for you to customize your view of the list of unit tests, so we did.
- Use the new advanced Group by functionality in the Unit Test Explorer and Unit Test Session tool windows to create a custom grouping. With the added Duration element, you can now group unit tests based on the time it takes them to execute.
- You can filter unit tests by the target framework in the Unit Test Session tool window, in the event that you have more than one (which is quite common nowadays) and don’t want to see some of them.
Identifier highlighting update
Identifier highlighting has been completely reworked. We’ve added more color settings for extra precision with code highlighting (available in Tools | Options | Fonts and Colors). New color settings include:
- A general section for colors of entities in all languages.
- Dedicated settings for C# colors.
- New color settings for constructs in different languages.
- New NUnit inspections cover combinatorial unit tests and individual parameters of parameterized unit tests.
- The Parameter Info popup is available for tuples.
- Xamarin support has a couple of important fixes, such as x:DataType and Class attribute support.
- Typing assists for deleting new lines and for backspacing before a new line now leave a space either to separate tokens or when this is required by the formatting rules
C++20 support ULTIMATE
C++20 is feature-complete and will be officially signed off next year to provide C++ developers with a range of long-awaited goodies. ReSharper C++ 2019.3 already supports many of these features, augmenting them with additional analysis and insights.
First, ReSharper C++ is now aware that aggregates can be initialized from a parenthesized list of values, and that an extra ADL needs to be performed in some cases with function templates.
Not only are concepts supported in ReSharper C++’s parser, but Rename refactoring and Find Usages are also available. Even better, code analysis can show you more details about errors related to Concepts. For example, if the overload resolution fails because a Concept’s requirement is not satisfied, you’ll see all the details in a tooltip. By the way, in ReSharper 2019.3 we’ve also added color to the tooltip that shows the details on the overloading resolution failures.
We’ve started a series of C++20 and ReSharper C++ blog posts, which you can use to learn about the new language features and their adoption in ReSharper C++.
Unreal Engine 4 support ULTIMATE
When ReSharper C++ detects you are developing an Unreal Engine project, it adjusts its behavior to be more UE4-specific.
The “new” postfix template for UCLASSes expands to a proper factory function call (which will register the created object in the garbage collector). Live templates with the corresponding names are now available to help you quickly generate USTRUCT/UCLASS/UENUM/UENUMCLASS.
Unreal Engine’s Smart Pointers (TSharedPtr, TSharedRef, TWeakPtr, TUniquePtr) are now handled by ReSharper C++ similarly to std::shared_ptr/std::unique_ptr. This means features like Parameter Info, code analysis, and postfix code completion work for Smart Pointers.
Finally, there are some performance improvements for UE4 projects. For example, we fixed a hang after "Refresh Visual Studio Project" in the UE4 editor.
Command-line profiler on macOS and Linux ULTIMATE
The command-line profiler finally comes to macOS and Linux. dotTrace.sh has the same functionality as its Windows counterpart and is distributed as a .tar.gz archive and as a NuGet package.
dotCover improvements ULTIMATE
dotCover 2019.3 gets several improvements:
- Support for Unity 2018.3 and later on all operating systems. To perform coverage analysis of Unity tests, you must use JetBrains Rider.
- Support for Microsoft Fakes.
- Ability to group coverage results by nested namespaces in Rider, Visual Studio, and in reports generated by the dotCover console tool.
Code quality analysis
Code editing helpers
Multiple code editing helpers are available, such as extended IntelliSense, hundreds of instant code transformations, auto-importing namespaces, rearranging code and displaying documentation.
You don't have to write properties, overloads, implementations, and comparers by hand: use code generation actions to handle boilerplate code faster.
Eliminate errors and code smells
Instant fixes help eliminate errors and code smells. Not only does ReSharper warn you when there are problems in your code but it provides quick-fixes to solve them automatically.
Safely change your code base
Apply solution-wide refactorings or smaller code transformations to safely change your code base. Whether you need to revitalize legacy code or put your project structure in order, you can lean on ReSharper.
Compliance to coding standards
Use code formatting and cleanup to get rid of unused code and ensure compliance to coding standards.
Instantly traverse your entire solution
Navigation features help you instantly traverse your entire solution. You can jump to any file, type, or member in your code base in no time, or navigate from a specific symbol to its usages, base and derived symbols, or implementations.
Other ReSharper features include a powerful unit test runner, various kinds of code templates, debugging assistance, a project dependency viewer, internationalization assistance, as well as language-specific features for ASP.NET/ASP.NET MVC, XAML and other technologies.
ReSharper Ultimate System Requirements
This document covers all ReSharper Ultimate products: ReSharper, ReSharper C++, dotCover, dotTrace, dotMemory, and dotPeek.
- Processor: min. Intel Core 2 Duo 2GHz
- For Visual Studio integration: min. 4 GB, recommended 6 GB or higher
- For standalone dotTrace, dotMemory, dotPeek: min. 512 MB, recommended 2 GB or higher
- Minimum space: 400 Mb
- Using SSD instead of HDD is recommended for optimal performance
- Operating system (a 64-bit OS is highly recommended for optimal performance):
- Microsoft Windows Server 2016 R2
- Microsoft Windows 10
- Microsoft Windows Server 2012 R2
- Microsoft Windows 8.1
- Microsoft Windows Server 2012
- Microsoft Windows 8
- Microsoft Windows Server 2008 R2
- Microsoft Windows 7
- .NET Framework 4.6.1 or higher.
Visual Studio integration
ReSharper Ultimate products integrate into the following Visual Studio releases (Community, Professional and higher editions; Express editions are not supported):
- Microsoft Visual Studio 2019
- Microsoft Visual Studio 2017
- Microsoft Visual Studio 2015 Updates 1, 2 or 3
- Microsoft Visual Studio 2013 Update 5
- Microsoft Visual Studio 2012 Update 3
- Microsoft Visual Studio 2010 SP1
dotMemory, dotCover, dotTrace and their respective remote profiling agents require .NET Framework 4.6.1 or higher to be installed.
dotMemory and dotTrace allow profiling any .NET application that targets the following frameworks:
- .NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.6, 4.7 or 4.8
- .NET Core 1.0, 1.1, 2.0, 2.1, 2.2, 3.0 or 3.1
dotPeek requires .NET Framework 4.6.1 or higher to run.
| IntelliJ IDEA (可點擊觀看詳細介紹)
IntelliJ IDEA 被認為是當前 Java 開發效率最快的 IDE 工具。它整合了開發過程中實用的眾多功能，幾乎可以不用滑鼠可以方便的完成你要做的任何事情，最大程度的加快開發的速度。簡單而又功能強大。與其他的一些繁冗而複雜的 IDE 工具有鮮明的對比。
PhpStorm 填補了 PHP 開發智慧 IDE 的長期空白，提供了開發者不可少的工具，如自動化重構、深層代碼分析、聯機錯誤檢查和快速修復。也關注於更多的智慧性，並提供更好的代碼質量保證，並支援最新的 PHP 趨勢。
PyCharm 具有智慧代碼編輯器，能理解 Python 的特性並提供卓越的生產力推進工具：自動代碼格式化、代碼完成、重構、自動導入和一鍵代碼導航等。這些功能在先進代碼分析程式的支援下，使 PyCharm 成為 Python 專業開發人員和剛起步人員使用的有力工具。
Ruby 和 Rails 是 IDE 中提供給開發人員最重要的工具，RubyMine 將其整合在一起，提供方便的環境，以確保網絡與 Ruby 在 Rails 的發展。
AppCode 是一個全新的 Objective-C 的整合式開發環境，用於幫助開發 Mac、iPone 和 iPad 的應用程式。
Cross-platform IDE for C/C++ developers providing superb coding assistance and enormous time savings.
支持許多.NET項目類型 Rider支持.NET Framework，新的跨平台.NET Core和基於Mono的項目。這使您可以開發各種應用程式，包括.NET桌面應用程式，服務和庫，Unity games，Xamarin應用程式，ASP.NET和ASP.NET Core Web應用程式
編碼協助/人體工學設計/集成工具/IntelliJ plugin ecosystem
Datalore, an intelligent web application for data analysis. Explore datasets, build powerful predictive models, create rich visualizations and invite colleagues to get better insights.
ReSharper 是智能化的微軟 Visual Studio 外掛程式。ReSharper 保持和增進 C#、VB.net、XML、Asp.net、XAML 構建腳本。ReSharper 還為 C# 和 VB.net 提供增強的交叉語言功能，它使開發者可以有效的控制 .net 混合項目。並可以檢測與移除錯誤代碼、加速編碼，及提供豐富的導航和搜索功能。
The Visual Studio Extension for C++ Developers
ReSharper的C ++使得Visual Studio的C ++開發一個更好的IDE，提供有關即時代碼分析，快速修復，強大的搜索和導航，智能代碼完成，重構，各種代碼生成選項和其他功能，讓你每天增加生產率。
Free .NET decompiler and assembly browser that is empowered with ReSharper-style navigation and displays decompiled code as C#. It also enables creating Visual Studio projects from decompiled code, which facilitates reconstructing lost source code.
TeamCity 的是個連續的整合與建設管理解決方案，遵循著 IntelliJ IDEA 的傳統，軟件開發團隊將持續研究，為開發程式建造一個全新的水平。
YouTrack 是個鍵盤為中心的錯誤和問題追蹤Web應用程式，可以節省您在處理問題所花費的時間。使用 YouTrack 只要運用兩個簡單的控制：搜索框和命令視窗。
Upsource is a repository browser and code review tool. It helps the development team browse source code in version control repositories, read and search for code in any revision, and improve code quality by conducting code reviews and discussing code changes. Upsource supports Git, Mercurial, Subversion and Perforce repositories.
JetBrains Hub is a server that handles authentication, authorization, users, groups, permissions, and projects across multiple installations of JetBrains team tools.
It also provides a Dashboard to display the relevant data from all the services that connect with it, and provides a way to quickly set up repositories, build configurations and issue trackers for any new projects.
Meta Programming System is an environment for professional software developers to create new custom languages, extend existing languages, and use them to develop programs. In particular, MPS is an instrument for creating Domain Specific Languages (DSLs). Domain experts who are not familiar with programming can easily use DSLs created with MPS.