Code. Just Code. JustCode.

by Hristo Kosev | Comments 8

It's my pleasure to announce the youngest member of the Telerik product family - JustCode, a code analysis and refactoring tool. Actually "youngest" is not the most correct word to use because JustCode was born more than 5 years ago but "adopted" by Telerik in March, this year.

In March Telerik acquired the JustCode product from the German-based company, Omnicore, and the founders of the company (and also the creators of the product) joined Telerik to help us take the tool to the next level.
A few words about the founders of Omnicore; these are brilliant guys with lots of expertise in the code analysis domain (there is even a PhD candidate in code analysis!). They created one of the first IDEs with solution-wide on-the-fly code analysis (i.e. errors and warnings on-the-fly) back in 1998. It was a Java IDE but... they have long since come to see the .NET light. :).

Next, let me address what is likely the first question on everyone’s mind now that Telerik has announced a new developer productivity tool. How is JustCode better than similar tools on the market?
The short answer is JustCode provides really fast, on-the-fly, solution-wide errors and warnings. This means that whatever you do, like modifying the current opened file, doing a "Get Latest” from the source control, removing or adding new files to the solution and so on, you'll get a complete list of the solution's errors and warnings. And not only for the current opened files!

JustCode Errors Window

JustCode does this for all supported languages, which today are: C#, VB.NET, ASP.NET, HTML, XAML, and JavaScript. It's like having a compiler running all the time with the only difference being that JustCode runs much, much faster and requires less CPU time.
JustCode's code analysis engine also runs in a separate process (outside of Visual Studio’s devenv.exe) and communicates with the JustCode add-in hosted inside Visual Studio only when necessary. This ensures that JustCode does not impact the performance of Visual Studio. Competing products usually turn their solution analysis feature off by default because they perform so slowly and so heavily tax Visual Studio’s performance. JustCode is many times faster than these products, only taking seconds to update the errors and warnings list, even for some really large solutions (benchmarks coming soon).

JustCode's features can be separated in several categories - Code Analysis, Code Navigation, Code Generation, Refactoring, Quick Fixes, Code Formatting and Code Templates. You can find more information on the product page or in the online documentation. We'll be publishing many new blog posts over the next few weeks to cover the most interesting things from each category.
All the features from these categories work "across" the different languages used in one solution. For example, if a VB.NET project has a reference to a C# project and you're doing some refactorings on the public API of the C# project, the VB.NET code will be changed accordingly. The same applies for scenarios where, for example, you use "languages" like ASP.NET or XAML. With JustCode you can successfully rename directly from the ASP.NET / XAML file and the changes will be reflected in the codebehind.

JustCode ASP.NET

You can also use the code navigation features to navigate to identifier declarations and usages both in codebehind files (C# / VB.NET) and in the respective ASP.NET / XAML files.

If you watched the "Guess the Product” video that we published about 2 months ago on Telerik TV you may have noticed us mentioning JavaScript. So, the next logical question likely on your mind is how does JustCode help me with my JavaScript development?
JustCode takes JavaScript productivity to new levels. JustCode will show you JavaScript errors and warnings (mostly semantic errors, but still on solution-wide level), will provide quick fixes for fixing missing character problems, will provide several refactorings like rename, introduce variable, inline variable, etc.

JustCode JavaScript refactorings

will provide navigation features like Go To Definition, Find Usages, Highlight Usages, Go To Member, Go To Symbol, etc.

JustCode JavaScript code navigations

and will provide some additional JavaScript formatting options. Moreover, the code templating engine works for JavaScript, too. For now we haven't included any JavaScript templates, but this is something we will be improving in the next few months. Of course, we can’t do as much for JavaScript as we can for C# or VB.NET, but we think once you spend some time with our JavaScript support you’ll find it indispensable.

We also stated in our JustCode teaser video that we’re delivering a "simple and clear" UI. What does that mean?
We've tried to keep the dialogs to a minimum in JustCode and not interfere in any way in your normal development habits. For example, this is what you'll see when you want to rename a class:

JustCode rename

You type the new name directly in the editor, no dialogs. It’s like you haven’t even run a refactoring tool! We've gone even further for local renames. In that case, you see all the occurrences in the editor changing as you type:

JustCode rename

The behavior is similar for the other refactorings like "Move Or Delete Parameter", "Extract Method", etc., for the code templates, for the quick fixes and so on.

The current version of JustCode supports both Visual Studio 2005 and Visual Studio 2008. We decided to build JustCode on .NET 3.5 SP1 in order to take full advantage of the latest framework features, but this in no way impacts the version of the framework you can use to develop your projects.

Finally, even though we've been dog-fooding JustCode in all of our development teams at Telerik, and we’ve also tested it with some other large codebases, we decided to release the first version of JustCode as a beta. We will work quickly over the next few months to fix all reported problems and then officially release v1 as part of Q1 2010 release. With your feedback, we'll make JustCode the perfect .NET coding productivity for Visual Studio that delivers unmatched performance and (eventually) unmatched features.

We have some pretty aggressive plans for JustCode, and the next beta is planned for mid-January. In the meantime, we also plan to release bi-weekly builds with the latest bug fixes and new features. Thanks to the JustCode's Auto Update functionality, you won't miss a build that fixes some problems you've reported or that adds some new cool features. We also plan to start working on the Visual Studio 2010 support immediately and hopefully the fist bits for it will be available in January too.

JustCode's installation takes about a minute, so you've got nothing to lose. Download the beta today and just code faster :)

Hristo Kosev

8 Comments

Cengiz han
Is this version same as the  Omnicore's latest version (http://download-europe.omnicore.com/download/justcode-universal-1.1.exe) or Telerik has added some new feauteres?
Vassil Terziev
Haha, we wouldn't go that cheap:) There are many many additional features and improvements. We'd never go to market with a product if we don't feel strongly that we are offering something new and useful. One of the few things in common between the old Omnicore plugin and the Telerik product is the key people behind it and the blazing fast performance. I'm sure that if you spend some time with JC, you will find more than ten differences between the Telerik and Omnicore versions. And we hope that you will see that JC is not just a "me too" product - it does offer something different.
Cengiz han
sounds good! today I will disable resharper and will try it. :)
Vincent
I think if this product wants to become more competitive, there are two recommendation should keep in mind. 1) Don't make it slower than ReSharper (it's really bad user experience).
2) Unit Testing integration is must have feature, I read some many articles regarding CodeRush VS Resharper, there are lots of people find Resharper's unit testing integration make their final decision.
Georgio
@Vincent, unit testing will be integrated in the next release of CodeRush  :p
Hristo Kosev
@Vincent
Thanks for your feeedback!
1) Should you notice some slowness, we'd love to hear about that so that we can fix the problem in a timely manner.
2) We have some plans for unit testing integration but... let's not disclose all the good news in one single day :)
Mike
Is there a compelling argument you can make as to why someone who is satisfied with Resharper user should try JustCode? Are there features that perhaps make JC standout in the crowd of code analysis and refactoring tools?
Hristo Kosev
@Mike

- Fast solution-wide analysis for all supported languages (C#, VB.NET, ASP.NET, HTML, JavaScript, XAML).
- JavaScript support.
- Code analysis engine working as a separate process (outside Visual Studio) so that you don't need to apply some "unpopular" practices for avoiding OutOfMemoryExceptions.
- Unobtrusive UI.
- etc.

Comments

  1.    
      
      
       
  2. (optional, emails won't be shown on public pages)
  3. (optional)
Read more articles by Hristo Kosev - or - read latest articles in Developer Tools