ReSharper 8 EAP Available for Download

    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, that's why we are pleased to announce the opening of the ReSharper 8 EAP program and, in connection with the upcoming release, to present you an overview of the features that will appear in ReSharper 8.

    Go to everything


    In preparing ReSharper 8, we made an effort to simplify some commonly 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 that the user recently worked with:



    Search by a specific identifier displays all the files, types and elements in which this identifier occurs:



    Do not worry - all previous “specializations” of commands (for example, Go To File) remained in place, and dynamic switching between them - too. The functioning of the selectors also remained in place, so you can, for example, write ClassName.MemberNameto find a specific element of a particular class. Combo navigation, wildcards and camel-humps are also available. In addition, we have added several new selectors: for example, if you write publicor private, you will limit the list of elements by their visibility. We tried to optimize the performance of this menu, so the search in it should be performed very quickly.

    Auto Completion Enhancements (Code Completion)


    This release includes a number of significant improvements to the code completion mechanism.

    New Autocomplete Elements


    For example, if you take a class and start inheriting it from INotify, R # will present you with the following list of possible interfaces:



    Autocompletion options include all possible interfaces that start with INotify, and when you select one of them, R # will automatically add the corresponding one usingto the header file.

    In addition, ReShaprer now offers several generative auto-completion, in particular, an addition for keywords partialand override:



    Well, finally, we have slightly improved the existing auto-completion mechanisms. For example, the auto-completion list to initialize the collection now includes the keyword new:



    Other auto-completion improvements


    Another new feature that we added is called a double-addition (double completion). The idea is this: when you use simple auto-completion (Ctrl + Space) once, you may not be able to get the element that 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 was 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, using extension methods.

    Double padding mechanisms are supported by quick fixes, so if you receive a character 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 turn off all ReSharper warnings with one comment - instead of separately selecting those inspections that you want to “suppress”, now just write // ReSharper disable alland R # will not produce errors in the code until it encounters a final comment // ReSharper restore all.
    • Now you can quickly switch between array initialization expressions and array creation expressions ; ReSharper offers appropriate validation as well as contextual actions:



    Now you can convert recursive calls to iterative :



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



    Added support fallback CSS colors: The




    list above is just a small selection from the large number of inspections we added.

    CSS Enhancements


    To help developers ensure the correct 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 understanding of R # of various CSS declarations, whether in JSON ...



    ... or in string literals



    ... or even in anonymous type declarations:



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



    Finally, ReSharper now supports refactoring identifiers defined in CSS:



    Assembly explorer


    Those of you 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 - now this panel is part of ReSharper:



    Assembly Explorer - a very powerful utility that can extract assemblies from various file formats (for example, ZIP). Assembly Explorer is also very easy to extend, which is what dotPeek plug-ins do today. Now its features are available for expansion directly through ReSharper.

    BAML decompiler


    Since we are talking about decompilation, we should mention one more useful feature - the ability to decompile BAML. This means that if you have a compiled WPF application, you can decompile it and look at the XAML code with which it was made:



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

    And one more thing...


    Here are a few more things to mention.

    Firstly, we have corrected the formatting system and Code Cleanup, so that it now correctly processes the preprocessing directives #ifand #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 run it analyze the code and add the result to an XML file. Now it is provided as a separate download, which we will update as new EAP versions are released.

    Well, in the end I’ll inform you that we continue to work hard on TypeScript support. It is too early to talk about any specific features, but, be sure, this language occupies an important place in the list of our priorities, and as soon as we are ready, we will definitely let you know.

    That's all, actually - now that 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! ■

    Also popular now: