Tools for your SharePoint 2013 development toolbox

Introduction

Some of my students, clients and community peers have asked about my favorite tools for working with SharePoint. So with that in mind, I quickly noted down some of my favorite tools that every developer should have in their toolbox. I’ve written posts about this before but as times and technology moves forward, new tools and techniques are evolving. I may post about the tools I recommend for IT-Pros at some point, but right now let’s stay on track with the dev-focus.

[blockquote]If you think I’ve missed out on some great tools, let me know by commenting on the article and I’ll make sure to include it in the post![/blockquote]

Recommended development tools

Here’s a brief list of tools that I would recommend for any SharePoint solution developer. At the very least, I would assume that you already have Visual Studio 2012 or Visual Studio 2013.

CAML Designer 2013

Historically I’ve been using some kind of CAML query generator since the U2U CAML Query Builder tool was released. There’s really no other efficient way to build your CAML queries than have the stubs auto-generated with a tool. For SharePoint 2013 I am now solely using the CAML Designer tool available from www.camldesigner.com.

The application is a lot more enhanced than any predecessors and I highly recommend that you download it right away unless you’ve already done so. There’s some tweaks that has to be made in the tool before it’s feature complete, but hey it’s a community tool and the best one I’ve used thus far in the area. The best part is the auto-generated code samples that goes with your query. Yum!

Quick Highlights:

Autogenerate the actual CAML Query

Autogenerate Server OM code

Autogenerate CSOM .NET code

Autogenerate CSOM REST code

Autogenerate Web Service code

Autogenerate PowerShell code

If you investigate the tool you’ll see that it does not only generate the CAML query itself, but also code-snippets for various technologies for you to copy and paste into your code as a stub to work with. Simple, elegant and so far it only crashes every now and then ;-)

SharePoint Manager 2013

Since a friend of mine, Carsten Keutmann, started working on the SPM (SharePoint Manager) tool I have been impressed with it. It has been in the community for a long time and now the 2013 version is pretty slick. Simple and intuitive interface which allows you to quickly and easily navigate down the farm and investigate settings, properties, schema XML and so on. Most of the things in your SharePoint environment can be investigated from this tool.

CKS Dev

A plugin for Visual Studio that is a killer-feature you can’t live without, is CKS:Dev. A team of awesome folks in the community have put together this amazing extension to Visual Studio and it now have support for 2013 as well. It allows you to manage your development routines more efficiently while you are on a coding adventure, it adds a bunch of new project items for your SharePoint projects and contributes to an overall satisfactory SharePoint developer story. You need this extension. Period.

Color Palette Tool for Branding

With SharePoint 2013 comes new possibilities for branding. A lot of people are accustomed to wobbling up their own custom CSS files and have a designer do most of the branding parts. If you’re just looking to create new composed looks for SharePoint 2013 without too much effort, you should use the SharePoint Color Palette Tool, provided by Microsoft!

Debugger Canvas

A few years ago I blogged about a tool called Debugger Canvas. A tool that can aid you in the debugging process. I’m not using it every day, but when I switch it on it really nails it! What can I say, if you hate the tedious normal debug execution and you want a better and more hierarchical way of displaying your trace in real time, enjoy debugger canvas awesomeness. All the code in your current calls displayed in one view type of thing. You’ve got to check it out.

Note: The debugger canvas is for VS 2010 Ultimate. I’m not sure if they’ve gotten around to port it up to VS 2012 or VS 2013 yet; But if you’re lingering with 2010 Ultimate, you should get this now. Period.

SharePoint 2013 Search Tool

As we all know search is one of the biggest things in SharePoint 2013. This tool allows us to learn and understand how the queries can be formatted and allows us to easily configure a Search REST Query. Pretty slick if you ask me. Use the tool to create the queries for you, then you can analyze them and better understand how to tweak and modify the output. Great job with the tool!

Fiddler. Always use Fiddler!

For most experienced web developers, Fiddler has been a constant tool in the basket. It is an addition to many of the existing tools you can use, but it’s extremely slick for analyzing SharePoint requests on the client side. I’ve saved countless hours by using this awesome tool to analyze the requests and responses from SharePoint. Download it, learn it, use it.

SPCAF – SharePoint Code Analysis Framework

My friend Matthias Einig created a tool called SPCAF which analyzes your solutions and code. Truly a beneficial tool in your toolbox that will aid you in the direction of awesomeness. If you’ve developed crappy solutions, you’ll know it before you ship it off to production environments. It integrates with Visual Studio, there’s a stand-alone client application and you can even have it hooked up to your build process – something I’m doing with my Iterative Development Processes.

.NET Reflector from Red Gate

It’s no secret that we want to peek into other peoples’ code. With the .NET reflector from Red Gate you can do just that. It’s an awesome reverse-engineering tool which allows you to peek into the code of a compiled assembly! I use it to debug Microsoft.SharePoint*.dll assemblies and to investigate third-party assemblies.

F12 Debugging experience in your browser

As Anders mentions in the comments, I forgot to mention the most obvious one. The F12-experience in your web browser. It enables you to debug and investigate HTML, CSS, JavaScript and other resources on your web pages on the client. Internet Explorer, Google Chrome and FireFox all have some type of developer tools available. For me personally, I use Chrome as my main debugging tool and IE for verification. I seldom use Firefox anymore to be honest.

PowerShell Tools for Visual Studio

As Matthias points out in the comments, there’s another great extension for Visual Studio called PowerShell Tools for Visual Studio. It allows you to get syntax-highlighting on your PowerShell files directly in Visual Studio.

SPFastDeploy

Are you developing Apps for SharePoint 2013? Steve Curran commented about using the SPFastDeploy tool that he has created. It’s a great extension for quickly pushing changes to your dev site without having to re-deploy the entire app. Pretty neat!

Advanced REST Client plugin for Google Chrome

As pointed out by Peter in the comments, there’s an awesome plugin for Chrome called Advanced REST Client which allows you to investigate the REST calls and configure your queries pretty simply through the UI. You get to see the results and the request times directly in the browser and you can play with the parameters etc easily until you get it just right. Great tip!

Postman – REST Client plugin for Google Chrome

The previous REST Client I mentioned above is awesome, and here’s another really great tool that AC tipped us about. The Postman REST Client plugin for Google Chrome. Similar to the previous plugin for Chrome, but slightly different for the one who prefers that tool instead. An idea is to try them out both and figure out which one you like best yourself.

SharePoint 2013 Client Browser

As pointed out in the comments by André, the SharePoint 2013 Client Browser is a tool similar to SharePoint Managed which I’ve mentioned above in this article. With this tool you can connect remotely to a SharePoint environment and investigate the data through the Client API’s. In my screenshot I’m connected from my laptop to my Office 365 SharePoint Online dev-account for Pointbird.com development. Pretty sweet!

smtp4dev

I can’t believe I originally forgot to put this in. Thanks to the tip in the comments from Caroline I got around to add it to the list here. Smtp4dev is an awesome tool for testing out if SharePoint are sending its e-mails properly, but instead of actually sending the e-mails to the recipients (which may not be wanted if you’re testing on real data for example..) it will catch all e-mails sent through the smtp server and allow you to view them directly in the tool’s UI. It’s pretty neat, and I do use it a lot when working with things related to e-mails and specifically automated processes where e-mails may be sent at various points in time but you still need to verify the logic and correctness.

Of course, I’ve got this in my basket too – thanks for reminding me, adding it to the list.
Note about Power GUI: I’ve had issues with SharePoint powershell when using this tool. Scripts that work in PowerShell ISE or PowerShell.exe breaks in Power GUI sometimes (long story short: great tool, but if it fails unexpectedly then try it out in the normal Windows PS ISE) :-)

Matthias Einig

PowerGUI is sometimes little stubborn in my opinion. On PowerShell3 hosts I prefer using PowerShell ISE which is built in.

Yes the dispose checker is great, however the SPCAF has that stuff built-in so that’s why I didn’t mention it. If you’re not using SPCAF, this tool is a great addition to the basket to let people know about their potential memoryleaks before their clients do ;-)

Matthias Einig

SPCAF has a little free brother called SPCop which also includes the memory disposal checks.

Actually not a bad idea to mention the F12 experience :-)
Thanks Anders.

Andy Van Steenbergen

Hey Tobias

Thanks for the mention, we are currently working on an updated release for the CamlDesigner.. Should have less crashes and a little more functionality included (like the option to also use hidden fields etc)

Maybe see you in SPC…

Have a nice weekend
Kind regards
Andy

http://www.zimmergren.net/ Tobias Zimmergren

Hi Andy,
No worries, it’s a good tool. Looking forward to the new release – please comment here when you release it and I’ll make sure to publish an updated article about it :-)

No SPC for me this year unfortunately, busy times.
Cheers,
Tob.

Steve Curran

I use SPFastDeploy many times a day when doing app model development. Has saved me countless hours.

http://www.zimmergren.net/ Tobias Zimmergren

Steve, great tip. You’ve created a nice tool and I’ve just included it in the list as well – it does ease the development of apps tremendously! :-)
Cheers,
Tob.

Steve Curran

Thanks for the mention.

http://wss.made4the.net/ jthake

This is great Steve…I actually found yesterday that saving a file when in debug mode wasn’t updating the file and I had to stop and start debugging. If I restart entire VM it seems to start working again though.

Hi Peter, I just added the tool to the list. Tested it out and it’s awesome – thanks for a great tip!
Cheers,
Tob.

http://wss.made4the.net/ jthake

That is really useful…just getting my feet wet in REST after being on Server Side for so long ;-)

http://www.zimmergren.net/ Tobias Zimmergren

You and me both. But I’ve been doing all things on the client-side for most of last year though and I’ve got to give it to them, Microsoft did an awesome job in implementing the REST API’s even if there’s still some things you would want to have improved. I’m already using tool that Peter tipped about extensively. Nice!

http://wss.made4the.net/ jthake

I’d love to hear what your thoughts are on what needs to be improved…I have a post in draft right now in the series I’m writing…but keep getting sucked into AngularJS and not writing about the higher level apps stuff LOL

http://www.zimmergren.net/ Tobias Zimmergren

I’ve got a list somewhere lying around with some REST wishlist items :-)
How’s AngularJS coming along? I’ve been using that and Knockout.js to get some structure in the JS and I love’em both. Easy databinding rocks.

http://wss.made4the.net/ jthake

I’ve been blogging on AngularJS recently. I’m enjoying the ability to have some structure rather than a 4000 line JS file for sure ;-) the binding is great and all the add-on libraries make things so easy. But when things don’t work…its very hard to troubleshoot and can be a number of things: HTML/CSS, Jquery, Angular or just my badly written code ;-)

http://www.zimmergren.net/ Tobias Zimmergren

I’ve been busting both Knockout and Angular lately; They’re good for the same things in certain scenarios but most likely Angular will prevail if it comes down to a showdown of the two. The clients I’m working with are using both in various teams so right now we’ll just have to adjust the techniques after what serves the teams best – but in the long rung we’ll probably land Angular on all divisions. I’ve got to say, from being a farm solution-guy to becoming a client-side junkie has made me love SharePoint development even more than I used to. Pow!

http://www.westerdale.biz/ Daniel Westerdale

10 months on from the comments above, I wondered which framework has the most traction out in the wild). I am designing a on prem provided hosted app part that makes host web calls to one of the document libraries. I want populate widgets say with terms / some user text and json responses from REST calls .. I have seen AC’s SPA course on Plurasight and it looks interesting.

http://www.andrewconnell.com/ Andrew Connell

Prefer using AngularJS over something like Knockout. Angular is A LOT MORE than just databinding… it’s a presentation framework. Knockout is just a databinding framework.

AngularJS is winning so you might want to jump on board the bandwagon before there’s no more room :)

http://wss.made4the.net/ jthake

Yeah it does A LOT! and the community is growing so fast for AngularJS its NUTS! the Pluralsight courses are a great treasure trove of getting started.

http://www.zimmergren.net/ Tobias Zimmergren

Agreed. But when you’re out working with large corporations that have dozens of teams who are all using a specific technology I can’t just waltz in there and say “Toss that away, use these new shiny bits of awesomeness” <- But I would like to ;-)

It's about what each framework can do, but also about what the situation presents in your team, as always. Which is a good reason to learn both.

http://www.andrewconnell.com/ Andrew Connell

Man that’s easy for me… it’s just two things: (1) the SharePoint REST API needs to get to the current OData v3 spec, not just partial implementation. For instance, we really need batching support. It’s already implemented in WCF Data Services 5.0 (MSFT’s product name for their implementation of the OData v3 spec & what SharePoint 2013’s REST API is based on)… it’s just not implemented int he SharePoint implementation and that’s poor… (2) 100% feature coverage on the API that is covered in the CSOM API (taxonomy & workflow services are the two big holes that kick me in the pants).

http://wss.made4the.net/ jthake

Yeah I need to play with external REST APIs more to understand what they are capable of to make a fair comparison. But agree on 100% coverage between CSOM and REST…and there are a lot of things in SSOM I want in REST too ;-)
I hear that Workflow can kick pretty hard in the pants too ;-)

Agree on both points; Mostly the second one which has been a pain for me as of late – when we have the same feature coverage in all versions of the client side options, we’re golden and it’ll make choices easier.

I can include the following tool SharePoint Client Browser for SharePoint 2010 and 2013 https://spcb.codeplex.com it is very usefull if you are using SP2013/Office 365 and you need to access WEB Data not only Lists/document Library

http://www.zimmergren.net/ Tobias Zimmergren

Thanks André,
I’ve just added that tool to the list as well. I’ve been using it a few times for SharePoint Online and it works great, simply slipped my mind right now. Thanks for the tip.
Cheers,
Tob.

Thank you for the tip AC!
I’ve updated my post to include the Postman plugin as well.
Cheers,
Tob.

Hugh Wood

Cheers for this Tobias its an awesome article although I’m quite shocked that CAML Designer is using JQuery and no SP Request Executor, but also a tip for people as a lot still use firefox – ctrl+shift+k is the built in dev tool and it offers a great 3d view of the page which allows you to visually see the markup as layers amongst other good profilers and tools. Chrome is still the best profiling tools, IE10+ is the best for network traffic and firefox is the best for markup. Thats in my book anyway!

Great article and a few tools I have never used (I love the debug canvas it shows it how I imagine it in my head while using traditional methods)

Regards,
Hugh Wood

http://www.zimmergren.net/ Tobias Zimmergren

Thank you for the comments Hugh, I appreciate it :-)
As with all tools, you’ll most likely want to modify the generated code slightly before you actually implement it in your production code ;-) Agree with you on browser debugging capabilities – I use multiple browsers for debugging different things, but most often I land in Chrome these days, as I reckon the plugins are superior.
Cheers,
Tob.

Hugh Wood

I have to admit I haven’t use a CAML designer for quite some time as its now wrapped up in a strongly typed class for internal work. I do love the Chrome dev tools and plugins, the nightingale has shown some really cool stuff coming through of late. My favourite from Chrome is the ability to use a map for debugging minified JS.

Hi Tobias, that’s a great list! I didn’t know SMTP4DEV, seems pretty useful for testing workflow notification for example. I’ll try Debugger Canvas too, if they have a VS2013 version.

http://www.zimmergren.net/ Tobias Zimmergren

Hi Andy,
Glad you like the list of tools. I’ve been using SMTP4DEV for a few years and it’s brilliant. Testing workflows, SPAlerts, custom e-mail applications or anything else that relates to sending e-mails that you quickly want to intercept without having to send them to an actual mailbox.

Last time I checked they hadn’t upgraded Debugger Canvas unfortunately, I hope they will soon – it is an awesome debugging tool :-)

Thank you for the comment. Glad you found some useful new tools to check out :-)
With PowerGUI I’ve had major problems (as have most of my clients and colleagues) with specific SharePoint-tasks in PowerShell that fails under PowerGUI but works in the console or the Windows ISE.

If I were mentioning PowerShell tools, I’d be listing this one for sure – it’s a great tip, Cam!

Cheers,
Tobias.

Prakash

Thanks for listing all the tools
Can you provide the links to the below tools for better understanding as how to work on it.
1. SharePoint Manager 2013
2. SharePoint 2013 Search Tool
3. SharePoint 2013 Client Browser
Here is my email id: [email protected]

http://www.zimmergren.net/ Tobias Zimmergren

Hi Prakash,

Thank you for your comment.
You should be able to read the documentation of each tool on their website. They usually post either a documentation themselves, or a link to someone else’s guides.

Regards,
Tobias.

Prakash

yes even after going through the documentation for some of the tools i was not able to gain something..
To say something forward i was a beginner for Sharepoint.
So it may be the reason that i am not able to understand something from the documentation…
So it would be helpful if you suggest me prior to understand some of these tools……
Thanks……….

http://www.zimmergren.net/ Tobias Zimmergren

Hi again Prakash,

I would suggest that you start in the other end then. Not “how can I use this tool” but instead “what is the problem I’m trying to solve?” and take it from there.
Once you know what you want to accomplish, and you know what tools are available to aid in that process, then it is probably easier to give specific samples for how to use a certain tool.

Thank you for your comment.
You should of course configure the tools as per your own environments and requirements. I’m glad you liked the list of tools :-)

Cheers,
Tobias.

Prakash

How to update all the instances of the Hyperlinks in a subsite having no of pages with more num of same hyperlink instances.
To be very clear
lets say i have a site A subsite B
In subsite B i have 4 pages
In each page i have a Hyperlink called Z repeated 10 times in page
Now i want to Update the hyperlink Z in each page of site and Sub site
How do i do that ?

http://www.zimmergren.net/ Tobias Zimmergren

Prakash,
Please only post comments related to this article here, and use the contact for or MSDN/Stackoverflow for other questions.

What are your thoughts on WSPBuilder? I haven’t lived without it since the past 3 years of development. “Deploy to GAC” and “Attach to process” are my favourite.

http://www.zimmergren.net/ Tobias Zimmergren

Hi Grimmjow,

I haven’t used WSPBuilder since I worked with SharePoint 2007 actually. There’s really no need for it when you have the fully integrated CKS Dev extensions for Visual Studio 2010/2013 for developing SharePoint solutions.

I suspected there were better tools out there. I will definitely check out your recommendation. Thank you Tobias.

http://www.zimmergren.net/ Tobias Zimmergren

Glad I could help :-)

http://www.code4green.com Hussain Naqvi

Great tools Tobias,
I like the “Powershell Tools for Visual Studio 2013″ and “SharePoint 2013 Client Browser”, they both are awesome tools.
I am using SPCAF and ShareGate tools, Those made my life much easier.
Thanks again for sharing tool kit for SharePoint 2013 development.

http://www.zimmergren.net/ Tobias Zimmergren

Hi Hussain,
Glad you liked it!
Both SPCAF (also in this list) and ShareGate has some great benefits, they’re good tools!

Enjoy your SharePoint endeavors.

Tobias.

Sukanta Saha

Thanks for great information.
Is there any tool to bind event receiver in a list in SharePoint 2013 or SharePoint Online. Please …

http://www.zimmergren.net/ Tobias Zimmergren

Hi Sukanta,

Perhaps the “SharePoint Event Receiver Manager” (https://speventreceiverman.codeplex.com) for SharePoint 2007/2010 will work with 2013 (on-premises) as well. I haven’t used it since I do most of my magic using PowerShell, or by definitions so you’ll have to dig into the tool yourself.

Hi Tobias,
I have SharePoint 2013 server installed in my machine.
I download SharePointEventReceiverManager tool. But when I run the SharePointEventReceiverManager.exe it thows an error “System.Null reference exception” and not show any site in.

Please Help

Sukanta Saha

Hi Tobias,
I develop a list item event receiver For Sharepoint online.I upload the .wsp file in solution and activate the feature On ItemAdded event I create/generate document on 15 document library based on library template.
Some time it generate all 15 files and sometime it generate 8/10/12 files.
i.e no generate files in all the document library.

It work fine in my local server.

Please Help me.

http://www.zimmergren.net/ Tobias Zimmergren

Hi Sukanta,

Those questions are outside of the scope of this specific article and would be better suited in a discussion forum. Please head on over to http://www.mssharepointforums.com, I’m sure there’s more people able to review the questions as well.

Regards,
Tobias.

praveen battula

Great post. Thanks for the write up.

I have recently created CAML Query designer based on my own requirements and I am giving that as an utility for free. Hope this will help SharePoint developers in better way.