Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

ReSharper SDK

763 views

Published on

18 May 2013, OrenConf
Orenburg, Russia

=====

Sorry about code style

Published in: Technology
  • Be the first to comment

  • Be the first to like this

ReSharper SDK

  1. 1. R# SDK: Overview Зюбанов Ярослав .NET Developer yaroslav.zyubanov@softline.ru
  2. 2. ReSharper is a renowned productivity tool that makes Microsoft Visual Studio a much better IDE http://jetbrains.com/resharper/
  3. 3. Oh, GOD, why?
  4. 4. Supported Languages • • • • • • • • • C# Visual Basic .NET JavaScript CSS HTML ASP.NET Razor XAML XML
  5. 5. Features • Code Analysis • Navigation and Search • Coding Assistance (Context Actions, Code Completion, Complete Statement etc.) • Refactorings • Code Generation • Code Templates • Code Cleanup
  6. 6. SDK • • • • • • • Project Templates Project Item Templates Bunch of binaries Targets (MSBuild) Tools (used for developing support for new languages) Examples Help
  7. 7. Releases • ReSharper 6.1.x SDK (January 2012) • ReSharper 7.0 SDK (October 2012) • ReSharper 7.0.1 SDK (March 2013)
  8. 8. Wait a minute, SDK is for plugin development?
  9. 9. Win-Win Situation
  10. 10. `Problem` public void Foo() { // correct use of string.Format() string str = string.Format(“Name: {0}”, name); // unnecessary method call string str = string.Format(“string without markers”); // much better string str = “string without markers”; } // even more better? actually it’s not const string str = “string without markers”;
  11. 11. PSI (Program Structure Interface)
  12. 12. PSI (Program Structure Interface)
  13. 13. Availability
  14. 14. Get selected element
  15. 15. Check #1
  16. 16. Check #2
  17. 17. Create literal expression
  18. 18. Action
  19. 19. Replace
  20. 20. Tests: Convention-based approach +src | OrenConf.Plugin | OrenConf.Plugin.Tests | OrenConf.Plugin.sln +test +data +Intentions +ContextActions +InlineString | availability01.cs | execute01.cs | execute01.cs.gold
  21. 21. Availability Test
  22. 22. Availability Test
  23. 23. Execution Test
  24. 24. Execution Test
  25. 25. Resources ReSharper Plugin Development http://bit.ly/resharpersdk JetBrains TV http://tv.jetbrains.net OrenConf.Plugin https://github.com/antigravity/OrenConf.Plugin
  26. 26. Thanks

×