JustCode has long been helping developers navigate their code and quickly find Files, Types, Members, and Symbols. The most recent Service Pack (released 12-September 2012) has made it even easier!
Entering capital letters (or a combination of capital letters and lowercase letters) into the search box will filter the files accordingly. For example, I know that I have two BDD concerns that test logging in, both starting with “When_Logging_In”. By Typing “WLI”, the Go To File dialog filters down to the files that have the capital letters W,L,I in their name (in order). The result is shown in Figure 1.
The search will also work with a mixture of upper and lower case letters, as well as skipping over some of the “camel humps”. As you can see in Figure 2, we get the same result typing “WhenIS” (skipping the “L”).
Typing “\” in search box will look at the directory structure for your projects in your solution. I find this especially helpful when I am working with ASP.NET MVC projects. For example, if I want to find a particular view, I can type “\Views” and it will filter down to all of the files in the “Views” directory, as in Figure 3.
Even better, you can combine both of these techniques as in Figure 4. By combining the “\Views” path filter with the “CP” camel case filter, it reduced the found files to two, enabling you to very rapidly find files anywhere in your solution!
Camel Case Searching for Types or Symbols works the same as when filtering Files in the Go To File dialog. In addition to filtering the types or symbols based on the camel case name, the Declaration Info section (middle bottom of the dialog box) gives a preview of the type’s (symbol’s) declaration. There is also a section (at the bottom of the dialog) that will show the XML Documentation (if any exists). Figure 5 shows an example of filtering for Types on the letters “AC” in a typical ASP.NET MVC application.
By checking the check box in the upper right corner of the Go To Type or Go To Symbol dialog boxes, a set of clickable filters will show in the dialog box (as in Figure 6). NOTE: You can still use the filters without checking on the Filters check box by typing them in manually – the addition of the Filters section into the dialog (shown in the red box in Figures 6 and 7) is a helper screen.
Figure 6 – Filters for Go To Type
Figure 7 – Filters for Go To Symbol
Filters can be added to the search by clicking on the links in the help or by typing directly into the search box. Using Filters in combination with Camel Case searching (as illustrated in Figure 8) can get you to your types (symbols) in very short order with limited typing.
Also new in Service Pack 2 is the ability to filter through type and symbol hierarchies. If your solution has a class Bar that is contained by Foo, typing “Foo.B” (or even “F.B”) will show the classes whose names have the letter “B” that are contained by a class whose name contains the letters “Foo” (or “F” in the “F.B” example). Figure 9 shows an example of this capability.
Go To Member allows you to quickly find code contained in the current class that has the focus when the key chord is pressed or the menu item is selected.
Just as with Go To File/Type/Symbol, Go To Member supports camel case searching as well (as illustrated in Figure 10).
Filters were added into the Go To Member dialog box as well, and as shown in Figure 11, there are many filters to select from. The filters can be added into the search box by clicking on them in the dialog box or by directly typing them into the search box.
As you can see, in addition to the many filter options already supported in JustCode, Q2 2012 Service Pack 2 brings many new options to the Go To Navigation options. If you haven’t tried JustCode, download a free trial and do the 30 Day Challenge. If you don’t like how it improves your productivity, drop me a line so we can discuss why. But I bet you will be pleased!
Technorati Tags: JustCode,Navigation,Philip,Japikse,Phil,Evangelist,Telerik,RadControls,JustMock,JustTrace,JustDecompile,skimedic,blog
Philip Japikse is an international speaker, a Microsoft MVP, ASPInsider, INETA Community Champion, MCSD, CSM/ CSP, and a passionate member of the developer community. Phil has been working with .Net since the first betas, developing software for over 20 years, and heavily involved in the agile community since 2005. Phil also hosts the Hallway Conversations podcast (www.hallwayconversations.com) and serves as the Lead Director for the Cincinnati .Net User’s Group (http://www.cinnug.org). You can follow Phil on twitter via www.twitter.com/skimedic, or read his personal blog at www.skimedic.com/blog.