Showing posts with label JustCode. Show all posts
Showing posts with label JustCode. Show all posts

Wednesday, May 11, 2011

Add-in Start-up Time in Visual Studio 2010

justcode-fastWhile I was in Dallas last week for a quick DNUG speaking tour, a good question came-up regarding the Telerik tools that extend Visual Studio: Should you expect them to add time to the Visual Studio loading time?

Clearly, different products integrate with Visual Studio in different ways (thus impacting the VS startup process differently), but we have invested focused energy making sure the Telerik tools do not significantly degrade the VS start-up (or runtime) process. As a result, the general answer to the question is that Telerik tools should not add more than a few seconds to VS start-up time.

But I decided a more specific answer was in order.

To more fully answer this question, I did a series of tests with my local copy of Visual Studio 2010 Ultimate to see how much different VS add-ins impacted the overall Visual Studio startup time.

Add-in Time Tests

The goal: understand how different add-ins installed on my machine impact the "baseline" Visual Studio start-up time. Since every computer configuration is going to impact the absolute values of a test like this, the most important thing to compare is the relative difference to the baseline. The baseline in this case is Visual Studio started in Safe Mode (devenv /safemode), which automatically disables any and every VS add-in.

MEASURING THE START-UP TIME
I tried a couple of different approaches for measurement. I wanted to use something precise that could take the measurements for me (like AppTimer), but no automatic solution could reliably determine when exactly Visual Studio was truly "loaded" and ready for action. So, a manual stopwatch was employed with precision dexterity to start the timer and run the devenv process simultaneously. (Multiple tests were conducted, too, to minimize error, of course.)

THE RAW TEST RESULTS
There is not much rhyme or reason to the add-ins that I measured (beyond the Q1 2011 Telerik tools) other than that the plug-ins were already running on my machine. So here are the results (times are rounded since millisecond precision here isn't that meaningful):

VS ADD-INS ENABLED Impact on Baseline Start-up Time
(in seconds)
Baseline (/safemode) -- (for the record, 1.8 sec)
No Plugins (w/o Start Page) +1 (with Start Page, +2)
Only JustMock -- (No measurable impact)
Only JustTrace --
Only JustCode +4
JustCode, JustMock, JustTrace +4
Only OpenAccess +1.5
JC,JM,JT,OA +5
NON-TELERIK ADD-INS  
Only BuildIncrementVersion -- (No measurable impact)
Only VisualGit +1
Only Chirpy --
Only .NET Reflector Pro +1
Only VMWare VMDebugger +10!

Out of curiosity (since I know many of you are), I decided to also test the latest versions of ReSharper and CodeRush/Refactor to see how they comparably impacted VS load time. Same test method. Results:

VS ADD-INS ENABLED Impact on Baseline Start-up Time
(in seconds)
Only ReSharper 5.1 +3.5*
Only CodeRush/Refactor 10.2.8 +3.5*

*These times need explanation. More on that below.

Analyzing the Start-up Test Results

There are few quick takeaways from these basic tests:

  • Many add-ins, including JustMock, JustTrace, Chripy, and BuildIncrementVersion have virtually no impact on the Visual Studio start-up time. As you might expect, though, these add-ins are doing very little to really integrate deeply into the VS IDE.
  • VMWare's VS add-in is a HUGE offender. It added over 10 seconds to raw startup time! I didn't realize this 'til my tests. You can bet this add-in will stay disabled from now on unless I need it!
  • JustCode only adds about 4 seconds to VS start time, which is roughly on par with similar VS productivity plug-ins.

I did observe that ReSharper and CodeRush seem to "lazy load," so while Visual Studio appears to open quickly, it remains unresponsive after opening while these plug-ins run through their loading routines. JustCode, meanwhile, fully loads during VS startup, so as soon as VS opens, it's ready to go. Ultimately, the add-ins all add roughly the same time to the VS start-up, just in different places. You can be sure Telerik will continue to invest heavily in optimizing the JustCode start-up routines so we can continue to set the new standard in Visual Studio productivity tools.

--

At the end of the day, I'm satisfied with these results. I don't launch instances of Visual Studio that often during a day (usually open and leave open), and an additional 4 or 5 seconds seems like a minimal start-up delay for all of the time JustCode, JustMock, and OpenAccess will save during development (especially since JustCode doesn't add crippling, time-sapping "lag" to Visual Studio like some add-ins). We'll keep innovating, though, and find new ways to make our impact event smaller.

In the meantime, if you're not seeing results like this, and your VS is taking a long time to load, look for other non-Telerik add-ins (VMWare?) or try "resetting" your VS by booting once in Safe Mode (this seems to work for me when VS load times get oddly slow over time). Hope this helps!

(And in case you missed it, be sure to check-out the top 10 ways JustCode makes Visual Studio better!)

Friday, April 08, 2011

Filtering JustCode Errors and Warnings

JustCode is an awesome Visual Studio productivity tool, built on an incredible code analysis engine that works across C#, VB, XAML, JavaScript, HTML, and ASP.NET. This goes well beyond Visual Studio's ability to only analyze VB and C#, and opens the door to some cool features, like navigation and code analysis in JavaScript files.

But what do you do when you have files, or "categories" of files, that you'd prefer JustCode ignore?

There are cases where perfectly valid runtime code- usually code not written by you- generates distracting JustCode errors and warnings. A good example is minified JavaScript files. While technically valid JavaScript, the shorthand notation can sometimes cause JustCode to report extra warnings. Fortunately, there's an easy filtering solution!

How to Add JustCode Filters

JustCode supports filters that essentially "hide" errors and warnings for specific files. A filter works by matching any part of a file's full path (case insensitive). By default, JustCode ships with these filters enabled:

.designer.cs;.designer.vb;\Reference.cs;\Reference.vb

These four filters, separated by semicolons, will hide any errors or warnings generated by files with ".designer.cs/vb" or "\Reference.cs\vb." Designer and Reference files usually contain auto-generated code in Visual Studio, which is why we want to ignore them.

To edit filter settings, use the Visual Studio JustCode menu to navigation to Options > Code Analysis > General where you'll find two textboxes: Exclude file filters and Exclude project filters.

SNAGHTML25342c41

Ignoring Minified JavaScript

Let's add a filter to ignore minified JavaScript to JustCode. By default, I have a web project with JustCode and several minified JS files (such as jquery.min.js and modernizr.min.js). With default settings, JustCode reports no errors, but does report 102 warnings, mostly consisting of issues related to my minified script.

SNAGHTML2538e0c0

To eliminate all minified script errors and warnings, I'm going to add a filter to tell JustCode to hide these issues for any file that has .min.js in the path.

I navigate to JustCode > Options > Code Analysis > General and add ";.min.js" to the existing filters in the Exclude file filters textbox, producing:

.designer.cs;.designer.vb;\Reference.cs;\Reference.vb;.min.js

Once I save my new settings, JustCode updates the error and warning reporting UI (the only part of JustCode that runs in the Visual Studio process, I might add- that's how JustCode avoids creating VS lag). We now find that my project has only 2 errors, which I rightly should consider addressing.

image

Filtering Limits

Today, JustCode's filtering only supports matching the strings you provide in file and project paths. There is no support for wild cards or other more advanced pattern matching techniques (like RegEx). That said, the product team has received feedback from enough customers to add more power to JustCode's filtering abilities, that you'll very likely seem more advanced options for filtering in the future. Until then, you should find that even this basic filtering enables you to cover 90% of the common cases where you why JustCode to hide errors and warnings.

So, setup those filters and make sure the errors and warnings JustCode is reporting are the ones that truly need your attention!

Not using JustCode yet? Give it a try for free. If you don't like it, tell me why: [email protected].

Thursday, April 07, 2011

Month of Just Webinars, New Product

jc_jm_mysteryIn case you missed the memo, April is informally the "Month of Just*" (that's wildcard matching for JustCode, JustMock, Just<something else we'll talk about soon>). This month we're doing a number of things to highlight the benefits JustCode brings to your daily developer life in Visual Studio, and among those activities is a series of webinars.

The three webinar series kicks-off next week (click the links to register):

As the names imply, each event will focus on a different Just* tool. The first will show you things that JustCode does to make Visual Studio better (especially if you're working with VS 2005 or VS 2008, which JustCode supports). The second will help you better understand the concept of mocking in unit tests and demonstrate how JustMock gives you all the power you need…for FREE!

The final webinar is special for two reasons:

  1. We will be unveiling a brand new addition to the Just* family. (You're free to guess in the comments.)
  2. EVERY attendee of the live launch webinar will receive a free license for the new Just* product (when it officially ships later this year)

On top of the huge license giveaway on April 27, we'll also be giving licenses (plural) for JustCode, JustMock, and the Telerik Ultimate Collection ($2000 value) to randomly selected winners from each webinar.

You don't want to miss these three events, especially the product launch. Register today and we'll see you for the kick-off next week!

Register for all webinars

Wednesday, July 21, 2010

Free JustCode, JustMock licenses for all Thursday webinar attendees (update)

justcode-justmock Sometimes people use the saying “Everyone’s a winner,” when in fact everyone is not a winner. If you join us tomorrow for the JustCode, JustMock and OpenAccess ORM webinar, though, you will be a winner! Everyone is truly a winner tomorrow because everyone that attends the Q2 2010 What’s New webinar will get free licenses for both JustCode and JustMock, Telerik’s powerful Visual Studio productivity tools. That’s $500 worth of software just for attending the live webinar event!

To get your complimentary licenses, register now for the webinar, and then join us tomorrow, July 22nd at 11:00 AM Eastern. You must attend the live event to get your license.

If you’ve never worked with JustCode or JustMock, this is your lucky week. Both tools can save you tons of time while coding or testing in Visual Studio, especially with the new features in Q2 2010. JustCode, for instance, includes a built-in Unit Test Runner and powerful solution-wide code analysis, while JustMock makes it easy to mock anything (including LinqToSql or EntityFramework). Don’t miss your one chance to get these tools pro-bono! Clear your calendar and we’ll see you at 11:00 AM.

Register now for JustCode, JustMock webiar

[UPDATE: The emails with the free license codes have been sent. Check your inboxes and spam folders to get your code and claim your free copy of JustCode and JustMock.]

Thursday, March 11, 2010

Telerik Extensions for MVC, JustCode now official and commercial

justcode-mvc-extensions One of the bigger news items in the Q1 2010 release is the “official” release of both JustCode and the Telerik Extensions for ASP.NET MVC. Both of these products have been in beta since late 2009, but now they are ready to take-on the world as full-blooded members of the Telerik portfolio. The transition to v1 has inevitably created a few questions, so let me try to provide you with some quick answers to satisfy your burning desire for info:

Are these tools part of the Telerik Premium Collection?
Yes! The Telerik Extensions and JustCode join the other 6 products in the Telerik Premium Collection, delivering even more value at the same $1,299 price tag. The Premium Collection now delivers over $6,000 worth of Telerik software at 1/5 the price. It’s probably one of the best values in .NET developer tools. (I’d love to learn about better values!)

If I’m an existing Premium Collection customer, do I get licenses for these tools?
Yes! If you have an active Premium Collection subscription, these tools are automatically added to your bundle license. Like I said, incredible value. Oh! And there are more tools to come. More details soon…

Can I buy these tools separately?
Yes! If for some reason you don’t want the value of the Premium Collection, you can buy these tools separately:

  • Telerik Extensions for ASP.NET MVC: $999 developer license + priority support
  • JustCode: $199 developer license OR $249 dev license + subscription/priority support

I thought the MVC Extensions were open source. What happened?
You are correct. The Telerik Extensions for ASP.NET MVC are dual licensed. That means there is an open source license (GPLv2) and a commercial license. The tools offered under both licenses are identical. The open source tools are not a “light” version of the Extensions.

Why would I want a commercial license for the MVC Extensions?
There are three very plain reasons why you would want the Extensions’ commercial license:

  1. You want Telerik’s premium support for the MVC tools
  2. You want access to Service Pack and Hotfix builds of the MVC Extensions (the open source branch will only be updated during major releases)
  3. You are building commercial software for resale

The commercial license is also convenient for organizations that are not “open” to open source software. You know the type. Lawyers get involved and everything gets messy.

How do I know if I need a commercial license?
If the support and service pack benefits are not interesting to you, and you’re just trying to understand when you must purchase a commercial license, here’s a good rule of thumb:

  • If you’re building free open source software, we want to help and support you with free open source tools. (Open source license)
  • If you’re trying to make money on the software you’re building (that is, you’re selling it), so are we, and we’ve got a license for you. (Commercial license)

It’s really no more complex than that. If you’re building an internal website for your company, you can use the open source tools. If you start selling that website, though, you need to convert to a commercial license.

Now that the JustCode beta is over, what are the limits of the trial?
The JustCode trial is a fully functional version of the software. It’s only limit is that it will expire after 60 days. Hopefully two months is enough time for you to fully evaluate the Visual Studio productivity plug-in and decide if it’s worth buying. (It is.)

Enjoy the latest releases of these tools and join me in welcoming them to the world of non-beta software.

Saturday, February 27, 2010

Importance of saving seconds

time When you spend your professional life at a computer, there are tasks that you repeat many times a day. Checking email. Responding to email. Writing code. Testing code. Showing the desktop. Individually, each task only takes seconds and seems relatively insignificant. But combined, our little repetitive actions can waste significant amounts of time.

We can regain massive amounts of productivity by saving seconds at a time.

Take, for example, replacing a mouse behavior with a keyboard shortcut. On the surface, it seems like a simple matter of preference. Some people prefer the mouse; some the keyboard. Switching from the keyboard to the mouse, though, has a time penalty. You’ve got to reposition your hand twice (move to the mouse and back to the keyboard), you’ve got to visually scan your entire screen to locate your “click target,” and then you’ve got to precisely move the mouse to the target and click. For common tasks, this can all be done in a few seconds, but it is almost always slower than what could be achieved with direct keyboard shortcuts.

So what? What’s a few seconds? Let’s do the math:

If you can save just 2 seconds on a task you do (let’s say) 30 times a day by learning the keyboard shortcut, you save:

  • In a day, 1 minute
  • In a month, 20 minutes
  • In a year, 4 hours
  • In a 30 year career, 15 work days! 

Just saving 2 seconds a day will give you back 15 working days over a career! And that’s just you and just one keyboard shortcut. Let’s expand the math to imagine a dev team of 5 people saving 20 seconds with 10 keyboard shortcuts for common tasks performed about 20 times a day. Savings would be:

  • In a day, 33 minutes
  • In a week, 3 hours
  • In a year, 17 work days!

In just one year, a team that commits to saving 2 seconds on 10 common tasks can reclaim more than 3 weeks worth of productivity. Do you see what I mean? The seconds add-up quickly!

A personal challenge

I challenge you to join me in reclaiming your time. Find one task you’re doing everyday that “requires” you to use the mouse and find a way to replace it with a keyboard shortcut. It doesn’t have to be a big time savings to matter. A simple savings of 2 seconds is all you need to start making a difference.

A keyboard shortcut for .NET web developers to get you started

I’ve always been in the camp of keyboard shortcuts are nice, but not a big deal…until I did the math. I don’t know about you, but I want my time back. One task I always seem to be doing via the mouse when doing web development is “View in Browser.” I’m easily wasting seconds here every time I have to use the mouse to do this.

There is an easy fix. Map “View in Browser” to a keyboard shortcut:

  1. In Visual Studio, go to Tools > Options
  2. Under the Environment section, click on Keyboard
  3. Type “File.ViewInBrowser” in the Show Commands textbox and select it
  4. Click in the “Press shortcut keys” textbox and input your desired shortcut
    (I used Cntrl + ` since it’s easy use and not taken by Visual Studio or JustCode)

What are your favorite keyboard shortcuts that save you seconds everyday?

Friday, February 12, 2010

JustCode Beta 2 now available, Support for VS 2010

justcode-screen JustCode, Telerik’s new Visual Studio productivity tool, continues to march towards its official v1 in the Q1 2010 release. The next major milestone in its journey dropped today: JustCode Beta 2. This release addresses many of the bugs that you have helped report over the last few months and it introduces some cool new functionality.

Among the most important enhancements in this release: support for Visual Studio 2010! This is something I’ve been waiting for now for a while and I’m very excited to add JustCode to my VS2010 experience. There are a few known issues with 2010, but we’ll continue to polish our support for Microsoft’s new IDE leading up to its official release in mid-April.

Some of the new features I find most interesting in this release:

  • New “Type Assistance” that automatically adds closing braces/brackets
  • New refactorings moving classes to new files and renaming files to match type names
  • Ability to set global filters for files that shouldn’t be analyzed for errors

You can get this update via JustCode’s automatic updates or you can download it directly on Telerik.com. And don’t forget about PITS! If you want to track the open, in progress, and resolved issues for JustCode, you can do that in real time.

Wednesday, November 18, 2009

Telerik Watch Minute: JustCode at PDC

It's time for another "special edition" Telerik Watch Minute, this time coming to you live from the show floor at PDC 2009. This TWM was filmed shortly after the official introduction of JustCode at PDC, and in it I quickly summarize some of JustCode's more unique features and some of the launch news. True to the "original" format, this update is a little more than a minute long, so enjoy this bite-sized content and stay-tuned for more updates from PDC. Watch in full size on Telerik TV

Telerik introduces JustCode at PDC 2009

After months of speculation, we have lifted the "veil of secrecy" surrounding our new product. Last night at PDC, we introduced to the world JustCode. JustCode is a Visual Studio productivity add-in, designed to help you just write code faster. For Telerik, this really completes the "circle of productivity" for many application developers. For UI productivity, we offer all our UI components for all major Microsoft platforms. For data layer productivity, we offer OpenAccess ORM. For testing productivity, we offer WebAii Framework and WebUI Test Studio. What we failed to offer any help for was writing the code that really creates value for your apps- your domain logic code. JustCode now closes that gap and delivers support for all of your coding tasks. When we set-out to create JustCode (and I should mention, we started by acquiring a company that's invested 4+ years of effort and PhD academic research in to building the core engine in JustCode), we defined three key goals for our initial efforts:

  • We need a productivity tool that is fast! It cannot be allowed to slow down Visual Studio in the slightest. It needs to load fast (even with large projects). It needs to execute its anlaysis fast (across entire solutions). And it needs to install and update fast (the plug-in is auto-updating).
  • We need a productivity tool that provides assistance across all languages modern .NET developers are working with, especially C#, VB, XAML, ASPX, HTML, and JavaScript! Our JavaScript support is where we really think you'll find a new level of productivity in this early release. You can finally use a tool that analyzes your JS code, highlights errors, provides quick code navigation (like GoToSymbol), and quick JS refactorings.
  • We need a tool that doesn't interrupt "normal" coding. We need an unobtrusive tool that helps us "just code" without constantly bombarding us with dialogs or distracting animations. The whole idea of JustCode is that it "invisibly" blends in to your development process, providing things like in-line refactoring without breaking your mental train of thought. Less is more with JustCode UX.
There are obviously lots of details we look forward to talking more about now that the product is public. Stay tuned to Telerik Watch and the Telerik Blogs for much more over the coming weeks. You can also already check-out a host of videos covering JustCode on Telerik TV. For now, download the beta on Telerik.com and give it a try. Our team will be working hard to respond to all feedback between now and the official release in Q1 2010, and you can expect to see regular updates every few weeks leading-up to the official release (which the auto-updating plug-in will make it easy for you to install). We're excited to bring this new product to you and we hope you enjoy being even more productive as you just write code...with JustCode!