Peanut butter and Jelly. Mac and Cheese. Oreos and Milk. Yes, each of these ingredients could stand on its own – but why? Some things just go better in pairs. The same could be said about Visual Studio and Telerik JustCode.
Telerik JustCode is being re-written from ground up to support myriads of new code refactoring, formatting, navigation and automation features. All this is being done leveraging the new Roslyn .NET compiler platform to provide the best tooling for modern .NET power developers. We know many of you live on the bleeding edge, so JustCode is future-ready with Visual Studio 2015 RC support already available today. This article takes a look at a few compelling features of Telerik JustCode. Consider your Visual Studio development environment elevated!
First, you need the JustCode Visual Studio extension. Head to the JustCode download page and get the latest bits. JustCode starts helping out even as you are installing it. There is a friendly interactive wizard (shown below) that steps you through some of the core features of JustCode – go ahead and play with it.
How do you know JustCode is ready for you? A menu shows up in Visual Studio, as below.
JustCode works silently and stays out of your way for the most part, as it should. The end goal is keep you aware of potential issues in your code base where technical debt will be expensive. You get to set up JustCode and make it help just the way you want.
Continuing the tradition of subtle hints, you’ll find JustCode provide continuous and contextual visual help as you type code. Visual Aids are handy shortcuts to available commands for a selected identifier, keyword, or selected code line(s). The aid is displayed as a small rectangle inside the code editor, next to your cursor. When you hover over the rectangle, you get a list of available code refactorings, quick fixes and code navigation commands. Visual aids, as shown below, provide unobtrusive, context-sensitive help to continually make your code better.
Many developers often deal with a complicated code base. They may be dealing with files that have lots of lines of code or methods with complex conditional logic. These developers will understand the benefits of vertical and horizontal structural code highlighting. And yes, JustCode makes structural highlighting completely customizable to their needs, as shown below.
One of the biggest benefits of JustCode is configurability – it works exactly the way you want. Pull up the Settings/Options (as shown below) from the JustCode menu and an assortment of configuration choices await you, allowing for customization in almost every feature of JustCode.
Once you start using JustCode confidently, it transforms into a seamless extension of Visual Studio – always ready with commands at your disposal. And as a power JustCode user, you would want quicker access to all your favorite JustCode features. This is where the Keyboard Shortcuts come into play, accessible any time from the JustCode menu, as shown below.
For some time now, Microsoft has been working on Roslyn – the .NET compiler platform that provides open source C# and VB compilers with rich code analysis APIs. Roslyn is pretty awesome and is now ready for primetime. Much of the new JustCode uses Roslyn APIs, which means it is being powered by the same engine that is compiling your Visual Studio code.
Telerik JustCode analyzes your Visual Studio solution continuously as you type and inspects for warnings in your code, which are color-marked for visibility. These inspections are not just for code warnings, but also to point out inefficiencies based on rules that you can customize. With an on-the-fly analysis engine, JustCode points out potential issues in your code immediately – without any delay or recompilation. And all this happens in the background without interrupting your work.
Once you have JustCode installed, it’s time to look around and see what’s changed. One of things JustCode starts helping out immediately is naming conventions for your variables – this is one of the biggest issues that contribute towards a complicated code base. JustCode follows standard patterns for each programming language and warns you if you are deviating, as shown below:
As you start writing more code, you’ll find JustCode to be a silent trustworthy friend – out of your way with quiet hints, but ready to help at a moment’s notice. Sure all the naming convention warnings are nice, but it is entirely your call to act on the advice or tweak/suppress future warnings – JustCode helps with both. You could simply use the JustCode command in the dropdown to fix the naming convention to what is suggested, as shown below:
Alternatively, you could choose to suppress a particular warning, in case you are doing something deliberate. JustCode does this with #pragma directives (consistent with MSBuild), as demonstrated below, and these work throughout the code base for any other developer who may be looking at your code.
Also, you get to customize exactly when JustCode shows such naming convention warnings and when it ignores – it’s all in the Settings, as shown below:
You’re forced to jump around your code base throughout the day – we get it. JustCode’s powerful navigation/search engine provides a number of features that let you quickly navigate to different parts of your code, easily find and highlight symbol usages, definitions, types, members, errors and more.
There are several ways to navigate and search functionality – choose the one that best fits you. You could press "Alt+`" to show the available navigation and search commands. From the pop-up menu, select the command you’d like to execute. Alternatively, on the main menu, you could choose "JustCode/Navigate" and select the command you’d like to execute. While there are lots of navigation features that you expect, let’s talk about some that stand out.
The Go To Symbol command lets you search and navigate to a symbol that you are looking for. Press "Alt+`", then from the pop-up menu, choose "Go To Symbol" and start typing in the "Go To Symbol" field, as shown below. You’ll love the search result preview that allows you to peek without requiring context switch.
Most of JustCode’s search functionality is driven by something special – the CamelCase search. It is a powerful mechanism that helps you easily find what you are looking for by searching according to CamelCase. JustCode identifies the different parts of a compound word and enables you to find results faster, as seen below.
Another interesting feature is the Find Inheritors command, which helps you find and navigate to derived types from a given type, as shown in the screenshots below. This allows you to gauge the impact of your coding changes on inherited classes down the line. Pretty slick, isn’t it?
What good is a companion who only tells you all the things you are doing wrong without actually helping fix issues? Relax – JustCode isn’t like your complaining friend, but rather a helping hand. With solid code refactoring features, JustCode automatically generates different type members and adjusts your code elements on-the-fly, assisting you in fixing potential issues. While there are lots of code refactoring features, let’s take a look at one rather handy feature.
One of the conventions that keeps sanity in your code base is the norm to have a single class/type defined within a file. In cases where you deviate, JustCode will show a subtle warning and allow you to fix the issue. This is achieved through a command called Move Type to Another File, as demonstrated below. The best part – JustCode is smart enough to migrate the needed Using statements along with your class. How cool!
The bottom line is that JustCode wants to be your indispensable Visual Studio coding companion. With features written from ground-up and Roslyn-powered optimization, JustCode has all the weapons to stamp out any potential issues in your code. This article only scratched the surface of what JustCode can do. There are many more JustCode features that didn’t get a mention – things like Quick Fixes, Debugging Decompiled Code, Code Linting, Unit Testing and much more. You already write so much code – allow JustCode to elevate your Visual Studio development experience by trying it today.