📜 ⬆️ ⬇️

Available for download ReSharper 8 EAP

In the world of new technologies, no company can afford to stand still. As new frameworks and programming languages ​​come out, ReSharper tries to keep up with them. Actually, therefore, we are pleased to announce the opening of the ReSharper 8 EAP program and, in connection with the upcoming release, provide you with an overview of the features that will appear in ReSharper 8.

Go to everything


In preparing ReSharper 8, we made efforts to simplify some frequently used functionality. One of the aspects that we have tried to improve is too many different Go To menus. In an attempt to simplify the task, we changed the behavior of the Go To Type command (Ctrl + T), so that it now allows you to navigate to the type, symbol, or file name, and all these elements are shown in one list.

By default, the list shows the files with which the user has recently worked:


')
Search by specific identifier gives all the files, types and elements in which this identifier is found:



Do not worry - all previous "specializations" of commands (for example, Go To File ) remained in place, and dynamic switching between them, too. The function of selectors also remained in place, so you can, for example, write ClassName.MemberName to find a specific element of a particular class. Also available combo navigation, wildcards and camel-humps. In addition, we have added several new selectors: for example, if you write public or private , you limit the list of items to their appearance. We tried to optimize the performance of this menu, so the search in it should be done very quickly.

Auto Completion Improvements (Code Completion)


In this release, a number of significant improvements to the code auto-completion mechanism have appeared.

New autocomplete elements


For example, if you take a class and begin to inherit it from INotify , R # will provide you with the following list of possible interfaces:



Auto-completion options include all possible interfaces that begin with INotify , and when you select one of them, R # will automatically add the appropriate using in the file header.

In addition, ReShaprer now offers several generative autocompletions, in particular, the addition for the partial and override keywords:



And finally, we have slightly improved the existing auto-completion mechanisms. For example, the autocompletion list for initializing a collection now includes the keyword new :



Other auto completion enhancements


Another new feature we added is called double completion. The idea is this: when you use simple autocompletion (Ctrl + Space) once, you may not be able to get the item you need because it is not available. Therefore, you can press the same key combination again, and this time the search range will already become wider and will include, for example, all connected assemblies.

A similar mechanism is used for smart additions (smart completion, Ctrl + Alt + Space). By pressing this key combination several times, you will get hints on all possible options for accessing the selected item, including, for example, the use of extension methods.

Double add-on mechanisms are supported by quick-fixes, so if you get a symbol that is, for example, private, you can immediately apply the fix to make it public.

New inspections


In each release, we add new code inspections, as well as improve existing ones. Here is a small sample:



Now you can convert recursive calls to iterative calls :



If the method has an overload that allows cancellation of the call (i.e. accepts CancellationToken ), then R # will prompt you to use this overload provided that you have an available cancellation token in the current context:



Added support for “backup” colors in CSS:




The list above is just a small sample of a large number of inspections that we added.

CSS support enhancements


To help developers ensure proper execution of code on different browsers, ReSharper included configurable support for CSS3 and earlier versions, as well as compatibility checks with popular web browsers:



As a result of these checks, ReSharper now provides detailed information about the availability of a particular feature in a specific browser:



We continue to improve our understanding of R # different CSS declarations, be they in JSON ...



... or in string literals



... or even in the declaration of anonymous types:



Search by CSS attributes also became smarter. For example, if you try to find the red color in the code, ReSharper will show all the places in CSS, JavaScript and C #, where this color appears, regardless of how it is defined:



Finally, ReSharper now supports refactoring of identifiers defined in CSS:



Assembly explorer


Those of you who are familiar with dotPeek , our free decompiler, probably already know Assembly Explorer - a panel similar to Solution Explorer that shows you decompiled assemblies. So, the good news is that this panel is now part of ReSharper:



Assembly Explorer is a very powerful utility that can extract assemblies from various file formats (for example, ZIP). Assembly Explorer is also very easy to expand, as dotPeek plug-in writers do today. Now its features are available for expansion right through ReSharper.

BAML decompiler


Since we are talking about decompiling, another useful feature should be mentioned - the ability to decompile BAML. This means that if you have a WPF compiled application, you can decompile it and look at the XAML code with which it is made:



Note that the generated XAML supports all the same navigation and search capabilities that ReSharper or dotPeek supports.

And something else...


Here are a few things that I want to mention.

First, we adjusted the formatting system and Code Cleanup, so now it correctly processes the preprocessing directives #if and #region :



In addition to the possibility of using R # as a plug-in for the Studio, we also provide a command line utility that can take a decision and, based on it, analyze the code and put the result into an XML file. Now it is provided as a separate download, which we will update as new EAP versions are released.

Well, and finally I will inform you that we continue to work diligently on TypeScript support. It is still too early to talk about any specific features, but, you can be sure, this language occupies an important place in the list of our priorities, and as soon as we have everything ready, we will let you know.

That's all - now, when you know what new features will be in 8K, why not try them yourself? Just download the distribution and let us know what you think about it! ■

Source: https://habr.com/ru/post/171773/


All Articles