Building the Right Environment to Support AI, Machine Learning and Deep Learning
Writing lots of code can become quite tedious. It can also become frustrating at times, especially when you are looking for a Visual Studio feature that either doesn't exist or which you don't know about. This article aims to introduce you to some of Visual Studio's newer tools to make your coding and debugging a bit more productive.
Visual Studio Tools
Apart from the built-in tools, such as IntelliSense and Breakpoints, Visual Studio has a few separate tools. These include the following:
- Build Notifications
- You can monitor your builds by enabling e-mail alerts, or by setting Team Foundation Server (TFS) build notifications that are displayed on your notification area, as shown in Figure 1:
Figure 1: Build Notifications taskbar
- Here's more information on Build Notifications.
- Debuggable Package Manager: The debug package runs in the Visual Studio shell. It consumes the Visual Studio debugging interfaces and communicates with the session debug manager (SDM).
- Developer Command Prompt for VS2013: The Developer Command Prompt for Visual Studio automatically sets the environment variables that enable you to easily use .NET Framework tools.
- Microsoft Feedback Client 2013
- VS2013 ARM Cross Tools Command Prompt: Compiler that generates ARM code
- VS2013 x64 Cross Tools Command Prompt: 32 BIT Compiler that generates 64 BIT code
- VS2013 x64 Native Tools Command Prompt: 32 BIT Compiler that generates 32 BIT code
- VS2013 x86 Native Tools Command Prompt: 64 BIT Compiler that generates 64 BIT code
Accessing the Preceding Visual Studio Tools
Follow these steps to gain access to the Visual Studio tools:
- From the Start screen, enter Visual Studio Tools, and press Enter.
- In File Explorer, open the shortcut menu for the item that you want.
- Choose Pin to Start or Pin to Taskbar.
Productivity Power Tools for Visual Studio 2017
Productivity Power Tools for Visual Studio is an extension pack that provides very powerful tools for improved developer productivity
The Productivity Power Tools 2017 include the following:
- Peek Help: Peek Help can be invoked from the context menu or using the keyboard shortcut Alt + F1. This brings up the F1 Help content inline in the editor, below the symbol.
- Solution Error Visualizer: Solution Error Visualizer adds warning, error, and message squiggles to the Solution Explorer. This error and warning information is fetched from the Error List and then displayed in the Solution Explorer window.
- Structure Visualizer: The Structure Visualizer adds visual cues to syntactically signify blocks of code. These blocks allow you to quickly figure out the scope of a class or a method.
- Double-click to maximize windows: This is a quick and easy way to maximize any docked window by double-clicking its title bar; you can restore it by simply double-clicking again.
- Timestamp margin: The Timestamp Margin adds timestamp information to the Output Window in Debug mode
- Quick tasks—Edit Present On: You now can customize the Font family and Font size used by the PresentOn Quick task.
- Ctrl + Click to Peek Definition / Go To Definition: Ctrl + Click to Peek Definition enables clickable hyperlinks to symbols in source code by simply holding down the Ctrl key when hovering with the mouse.
- Recently Closed Documents (Ctrl + Shift + Z): Reopens a closed document as well as returning the cursor to its last position. Recently closed documents also can be reopened through the Edit menu and clicking Undo Close or by pressing Ctrl + Shift + Z.
- Match Margin: Match Margin highlights all the textual matches of a token at the caret location in the Editor.
- Syntactic Line Compression: This feature enables you to make better use of your screen's vertical real-estate by shrinking lines that contain neither letters nor numbers by 25% vertically, thus allowing more lines to be displayed in the editor.
- Middle-click Scrolling: Middle-click Scrolling enables you to press down on your scroll wheel and then move the mouse to quickly scroll through your document.
- Custom Document Well: The Custom Document Well allows you to change the behaviour of your document tabs.
- Tools Options Support: This enables you to turn off a Power Tool feature.
- HTML Copy: This provides support for the HTML Clipboard format when cutting for copying code from the editor.
- Align Assignments: This feature aligns assignment statements by typing Ctrl+Alt+].
- Column Guides: This draws a vertical line in the code editor to remind developers that their full line of code or comments may not fit one a single screen.
There are numerous tools out there to help you code faster and better. Resharper and CodeRush are my favourites at this point in time. Here are some of the main players:
- Resharper: Resharper is a developer productivity extension for Visual Studio. It automates most of what can be automated in your coding routines and it finds compiler errors, runtime errors, redundancies as you type, all while suggesting intelligent corrections for them.
- DevExpress CodeRush: According to DevExpress, CodeRush makes it easier to see what's going on with complex code, so you can move forward and spend less time wandering and wondering.
- Visual Studio Code: Visual Studio Code is a source code editor for Windows, Linux, and macOS. It includes support for debugging, embedded Git control, syntax highlighting, intelligent code completion, snippets, and code refactoring.
- Code Compare: Code Compare is a visual file and folder comparison tool that can be integrated into version control systems and enhance change tracking and synchronization. It integrates with all popular source control systems: TFS, SVN, Git, Mercurial, and Perforce.
- Codealignment: Codealignment helps to align your coding blocks and braces.
- Brace Completer: Brace Completer, as the name implies, completes your braces.
- ResXManager: ResXmanager provides central access to all ResX-based string resources in your solution. You quickly can navigate through all resource files and view the content in a well-arranged data grid.
- Editor Enhancements: Editor Enhancements provides features such as HTML and URL encodings, transformations, and sorting of selected text the editor.
- File Icons: File Icons is a very useful little tool that adds icons for files that are not recognized by Solution Explorer.
With the right tools, coding doesn't have to be a frustrating task. The tools I have mentioned in this article are the most popular coding power tools. Go ahead; download them and make them work for you!