In this episode, we have Sergey Nikomarov, a Senior Developer on our Platform Engineering team along with some of our Acumatica Developer MVPs talking about their favorite developer tools. We also shared some tips around debugging and useful settings in Visual Studio were also covered.
Below the embedded video recording, you will find an comprehensive list of links to many of the tools that were discussed in the episode.
Enjoy and happy coding!
Developer Tools & Visual Studio Features discussed in the episode are enumerated below
- IntelliCode – an ML based code completion and refactorings https://visualstudio.microsoft.com/services/intellicode/
- Old but useful Code Snippets feature https://docs.microsoft.com/en-us/visualstudio/ide/code-snippets?view=vs-2022
- Customizable coloring schema https://docs.microsoft.com/en-us/visualstudio/ide/how-to-change-fonts-and-colors-in-visual-studio?view=vs-2022
- Customizable keyboard shortcuts. I’m going to describe few examples https://docs.microsoft.com/en-us/visualstudio/ide/default-keyboard-shortcuts-in-visual-studio?view=vs-2022
- Code diagnostics and refactorings.
- There are free popular projects with a lot of diagnostics:
- Diagnostics can be also used in Rider code editor https://www.jetbrains.com/help/rider/Using_NET_Compiler_Analyzers.html
- Multiple carets feature – allow to select occurrences of some text and edit them all at once, very useful for refactoring and edit of big chunks of API that follows a specific naming schema.
https://www.meziantou.net/visual-studio-tips-and-tricks-multi-line-and-multi-cursor-editing.htm - Visual Studio provides good debugging experience
- You can step into source code during debug with Symbol Servers feature
https://devblogs.microsoft.com/visualstudio/debugging-external-sources-with-visual-studio/ - You can configure Jet Brains decompiler as a symbol server
https://www.jetbrains.com/help/decompiler/Using_product_as_a_Symbol_Server.html - There are some plugins to improve attaching to a process experience like Debug Attach Manager
https://marketplace.visualstudio.com/items?itemName=ViktarKarpach.DebugAttachManager2022
- You can step into source code during debug with Symbol Servers feature
- Other VS Features
- Ability to run external tools
https://docs.microsoft.com/en-us/previous-versions/visualstudio/visual-studio-2010/hy2sthf1(v=vs.100)?redirectedfrom=MSDN - Live Share feature for cooperative development and debug
https://visualstudio.microsoft.com/services/live-share/ - Git version control system support. Doing simple stuff via UI.
https://docs.microsoft.com/en-us/visualstudio/version-control/git-with-visual-studio?view=vs-2022
- Ability to run external tools
- VS is a platform for customizations. There is also a convenient extensions gallery – VS marketplace. Naming a few more VS extensions here:
- Resharper, the most popular VS extension
https://www.jetbrains.com/resharper/ - Extensions that Sergey Nikomarav uses:
- Atomineer Documentation for a clever generation of XML comments in code.
https://marketplace.visualstudio.com/items?itemName=Atomineer.AtomineerProDocumentationTrial2022
Alternative – GhostDoc
https://marketplace.visualstudio.com/items?itemName=sergeb.GhostDoc - Match margin to display selected text occurrences on the scrollbar
https://marketplace.visualstudio.com/items?itemName=VisualStudioPlatformTeam.MatchMargin2022 - Code Align to do vertical alignment of code, useful when there are multiple assignment statements in code
https://marketplace.visualstudio.com/items?itemName=cpmcgrath.Codealignment - File Icons to add icons for more file formats
https://marketplace.visualstudio.com/items?itemName=MadsKristensen.FileIcons - Open in VS Code
https://marketplace.visualstudio.com/items?itemName=MadsKristensen.OpeninVisualStudioCode
Open in Notepad++
https://marketplace.visualstudio.com/items?itemName=coding-with-calvin.OpenInNotepadPP2022 - ResX manager – for work with .Net resx resource files
https://marketplace.visualstudio.com/items?itemName=TomEnglert.ResXManager
- Atomineer Documentation for a clever generation of XML comments in code.
- Resharper, the most popular VS extension
Other Developer Tools:
- SQL Server Management Studio – use to access MS SQL databases. I actually use two versions of SSMS because the capability to debug SQL transactions was removed from the latest SSMS 18
https://docs.microsoft.com/en-us/sql/ssms/download-sql-server-management-studio-ssms?view=sql-server-ver15 - Lightweight code editors – VS Code (https://code.visualstudio.com/) and Notepad++ (https://notepad-plus-plus.org/downloads/).
- ngrok tool for simple configuration of network tunnels to a local developer instance. Useful during the work with mobile version of Acumatica
https://ngrok.com/ - Some tools to draw diagrams:
- draw.io for simple diagrams https://www.draw.io/
- plantuml.com for more advanced UML-like diagrams https://plantuml.com/
- Pixie – a tiny color picker to pick a color of any pixel on your screen http://www.nattyware.com/pixie.php
- Nimble text – a really flexible text generator that generates a text from the given data placed into the provided template. Can be used for SQL commands generation (multiple insert commands) or C# API generation (for example if you need to add a lot of properties/field that differ only by name)
https://nimbletext.com/ - Postman to debug REST APIs.
https://www.postman.com/ - Telerik JustDecompile
https://www.telerik.com/products/decompiler.aspx - JSON FORMATTER
https://jsonformatter.curiousconcept.com/# - Attach To All The Things
https://marketplace.visualstudio.com/items?itemName=thebread.AttachToAllTheThings