Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.

ReSharper SDK

18 May 2013, OrenConf
Orenburg, Russia

=====

Sorry about code style

  • Loggen Sie sich ein, um Kommentare anzuzeigen.

  • Gehören Sie zu den Ersten, denen das gefällt!

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

×