Das Experiment, or several days of life without Resharper'a

    Introduction


    image

    Hello, my name is Vba and I am a resharper-dependent developer. I use the studio (currently 2013.3) in my professional activity to develop ASP .NET MVC / JavaScript / HTML5 applications. A week ago, at the "end *" of my resharper license, I wondered if I could live and work without it? Inspired by this and this posts and the fact that I was dumbfounded by the constant hangings of the studio and its gluttony ** I decided to experiment.

    Foreword


    Many of you, having heard comments about performance issues, probably thought to yourself that I had a poor understanding of the instrument settings and activated everything that could be activated, thereby transforming the studio into a five-year brake. I must assure you that this is not so, I meticulously followed optimization instructions like this one .

    To avoid misunderstanding the “iron” component of the question, I give an example of my current configuration:
    image

    Targets and goals


    • The main goal of the experiment is an attempt to reproduce a productive development environment, with "abilities" and buns close to resharper.
    • The second main goal is an attempt to make the studio more responsive, consistent and fast. ***

    So let's get started.

    Built-in decompiler

    Personally, I find it convenient to decompile and view the code of third-party libraries immediately, without leaving the studio bathhouse . Resharper gives this opportunity.
    image
    Let's see if there is anything like that, but without Resharper.

    Search on this topic did not bring success. I managed to find products like dotPeek , justDecompile or ILSpy , but none of them provided integration with the studio.

    Established Studio Tools

    Of course, the basic features of the studio are much inferior to Resharper's buns, but they can be enough to cover 90% of the needs.

    Navigation

    Let's try to configure NavigateTo in the right way:
    image

    Next, after pressing the associated keys (in my case CTRL + N ), we get:


    Of course, HistoryController will not find it for you if you type hc , but you can live.

    String manipulation

    Here, praise the Buddha, almost everything is in order. I could easily configure the removal of the line by pressing CTRL + Y :
    image

    Also, by regular means, I was able to configure the selection of the selected code block up or down when pressing CTRL + SHIFT + ALT + UP / DOWN :
    image

    Well, as well as using a small extension, I was able to get duplication of the current line or selection :


    Unfortunately, nothing was found to expand / narrow the selection ( SHIFT + W / CTRL + SHIFT + W ). Although there is one option, it is to use the Vim extension , but it probably will not suit everyone.

    Refactoring

    As you probably already guessed, you have to rely only on regular studio tools, i.e. Adjudu extracting variables / parameters / fields, smart renaming of classes / controllers / actions /, help in optimizing the code and finding potential errors, and a bunch of seemingly small but useful functions. I still managed to find a couple of utilities such as an extension to extract to a new file or an extension for multiple edits . Not much, but enough for the first time.

    Patterns

    Here, the Snippet Designer extension helped me out pretty well , without it, template management is so sad.

    Other items

    Items that could not be replaced

    Somehow, quite quickly, I felt a lack of an adviser, for example, about simplifying a linq-query or about an unused variable. I don’t know whether it is possible to make up for this with regular means of the studio.

    Things are similar with navigating class members and open or modified files.

    Of course, this is not the whole list of amenities and pleasant things that you have to refuse.

    Elements, the disappearance of which pleased

    I was terribly enraged in resharper that after refactoring in my studio all the files affected by refactoring were opened with a note about the change. I guess this is not a whim of the resharper developers, but rather a crutch associated with the stiffness of the studio itself.

    Tests

    Unfortunately, I can’t say anything about this, because in the office we use NCrunch and other test runners are not yet needed.

    Useful Extensions


    Someone probably will not discover anything new in this part, but I still try to give a list of free extensions that help me in everyday development.


    Summary


    The main goal, of course, has not been achieved, but I intend to continue the experiment. Even if I lost in productivity, it seems to me that I won in speed (approximately 500 MB of memory and a more nimble UI). It is sad to realize that in the 21st century I have to observe how the development environment, originally from the second half of the 20th century, eats memory, hangs, spells curses and falls from time to time if I put products like resharper on it. I think the guys from JetBrains did a wonderful job, it just seems to me that Microsoft should do something with their product, otherwise its further use will be difficult. Although they probably don't care, they have a monopoly.

    Afterword


    * Or rather, the impossibility of further updating due to the expiration of a certain period after the purchase of version 7 of this product. This expiration took place a long time ago, but I only thought recently.

    ** Under the suspensions of the studio and its gluttony, I mean about 1.1Gb of memory on the average projection and the responsiveness of the cursor when editing files.

    *** In no case do I consider that my problems with studio freezes are directly related to Resharper. I believe that the main problem of the instability of the studio lies in itself, this probably can be devoted to a separate post.

    Also popular now: