Next extension, I am going to dive into is Developer Assistant extension, again from Microsoft.
As usual during extension features evaluation process, I will evaluate the features and give them rating in a form of stars (from * to *****). Also I will put features from most to least valuable.
This is a cool extension that allows a developer to get other developer code right in the Visual Studio, without switching context to Browser app. So it provide you with:
- code snippets, that suggest how to use this or that class/method or even more: how to implement this or that part of functionality.
- project samples, that demonstrate a kind of a solid solution you have searched for.
The extension grabs this data from the internet, from the really popular and often used resources such as: stackoverflow, MSDN, github, codeproject, dotnetperls and, I guess, many more.
Extension features are explained on the official page here, so I will concentrate more on the experience I had with it.
- ***** How do I (Ctrl+Shift+F1). Feature allows a developer to search for the source code snippet in any place of your Visual Studio. I consider this feature as the most valuable one. It really streamlines the development process, by removing extra actions a developer has to do without it, so to search for a method usage examle you do not have to:
- switch from Visual Studio to the Browser
- find the solution there – it will definitely require at least two page loads
- you will not need to search for the code snippet in the full article (still often it is useful to read it before, but its your turn to choose in what cases you want just peep the code example and when you want to dive deeper into the code background – theory)
- copy snippet or its part in the Browser and return to the Visual Studio
Isn’t it awesome, to have a possibility not to leave your Visual Studio in the described case?
Now lets talk about the feature usage. Right after opening the search code window, by clicking Ctrl+Shift+F1, you can start typing the sort of information you want to find. Like in the google or bing search engines it has an autosuggest feature, as on the screenshot below.
In the result view you have all the possibilities to find the valuable code snippet. The following controls are available:
- navigation between the code snippets
- copy the whole snippet or just necessary part of it
- extend search options by clicking Search more. This allows you to download complete projects
Issue: A small issue I found while using the extension that spoils a bit the overall perception of feature usability: after striking a hotkey (Ctrl+Shift+F1) the cursor does not move to the search field, so you have to additionally click into the search field to start typing – really annoying.
- *** Visual Studio IntelliSense. Initially I found the intelliSense integration option as a breakthrough, but later I understood that in reality, most of the times I do not need a code snippet for each method I type in the code, so I returned back to the Visual Studio default (as on the screenshot below), as it was too annoying for me, when I was using classes I already know and do not need any support.
This feature can be switched of in the extension config, as shown on the screenshot below:
Now lets talk about the feature usage. Below is the screenshot of a windows that pops up instead of a standard Visual Studio suggest window:
Using intellisense feature I found that very often I miss the snippet navigation controls, so it is a bit limiting and makes you use the top most code snippet!
At the same time you have an option Search More and it works the same as in the feature How do I, allowing you to open the extended search window.
I consider this option as cool when exploring a new library. You just have to keep this feature in mind and flexibly change extension configuration, when necessary.
- * Bing Contextual search. As for me feature How do I is much more useful. Moreover I did not like it because it:
- uses Internet Explorer instead of Bing (I even do not want to mention Chrome here…) – that I do not like
- does not know about tab support and always opens a new browser window.
This feature could still be useful for those, who like to explore code in the browser, but not in the Visual Studio, as it streamlines the copy and paste functionality
- * Local code search. This I initially considered as a killer feature too, as you get the possibility to search in the code base that you already know! So you comprehend the found code much easier and faster.
As a starter I configured extension to use in search the projects I was involved to. Right away I became less enthusiastic about it:
- How do I:
- no support of autosuggest. Even if you type a class name from your code repository extension wont suggest you that it found smth. You have to click search and only then get the results.
- in my case only search by full class/interface name worked. As for me it is really difficult to remember the exact class names of my previous code. So search is really poor for the local code search
- Visual Studio IntelliSense
- it works but in really rare cases. Most of the times third party code snippets are suggested.
May be I was cooking this feature badly, but for now I will refrain from its usage.
Extension also has a separate panel, that allows to open search results right in the extended search window. The screenshot panel is below:
Below is the extended search window. Interface is quite intuitive.
Extension seems has issues and sometimes it just breaks and to re-enable it you have to restart the Visual Studio.
Extension uses internet heavily to download code and uses cache to enhance the performance. Personally I do not like my disk C constantly growing over time, in the unexpected places other than standard temp folders or folders that I configured deliberately. So I can propose 3 configuration options for storing extension cache:
- C:\Temp\DeveloperAssistant\… This wont fit if you clean temp folder on a regular basis.
- C:\Dev\DeveloperAssistant\Cache\… In this case you control the cleanup process manually, if necessary.
- any custom folder in a “safe place” – this is for cases when you want to hold the cache and, potentially, sync across Visual Studio instances.
I have created a folder D:\DEV\VS\DeveloperAssistant\ and 3 folders inside: Snippets, Samples, Github.
I consider this extension quite useful and worth to install and use.
Thanks for attention. Keep watching for new articles.