Let's create a modified version of the simple program created in the previous TechTip to demonstrate Visual Studio's code assistance tools and show how they can be used to improve efficiency.
Time to fire up Visual Studio again and do some more coding! Once you've launched the IDE, you'll notice that the Start Page, described in the previous TechTip, now contains an entry under the "Recent" title of the left hand side panel. This allows you to quickly access the last opened projects, just like in many other Windows programs. Click the "HelloWorld" project and add a new line between the "Console.WriteLine…" and the closing curly braces. Let's write the code necessary to send a second message, below the "Hello World" message: type System.Console.wr. The IDE's brains will kick in and offer a couple of suggestions to complete the statement, as shown in Figure 1:
Figure 1: The screen shows the VS auto-complete feature, called intellisense.
This nice feature, dubbed intellisense, is extremely useful because it's available everywhere for everything: methods, classes, attributes, parameters… and it's also smart enough to keep a history of your most-used choices and present them first. It's a fantastic timesaver! Here's how it works: simply type the first letters of what you're looking for, if you know its name, to shorten the list, which will be displayed, and then use the arrow keys to highlight the appropriate option, followed by the Tab or Enter keys to select it. After you've selected what you want, it will, under certain circumstances, provide additional information, such as a brief description of the method and its parameters. Select the WriteLine method and press Enter to see what I mean. Then type an open parenthesis "(". Intellisense will autocomplete the method call by adding a closing parenthesis and will provide a description of the method, as shown in Figure 2:
Figure 2: Intellisense offers auto-complete and tooltip features.
Note that two things happened: there's a squiggly red line after the closing parenthesis, and a cartoon-like light bulb appeared on the left side of the code line. If you're used to using Word, you surely have seen that squiggly red line: it means something is missing or misspelled. Here the concept is the same, but smarter. In this case, it's telling you that the statement is not properly terminated: it's missing the semicolon. You'll see it also works when you mistype the name of a variable or use the wrong data type in a parameter list. Moving your mouse over it displays the error message, which in itself is of great help because the messages are usually succinct and helpful. Now type (or copy and paste) "This is another greeting message!" and terminate the line with a semicolon. The squiggly red line disappeared, but the light bulb remains.
Let me explain what's going on. That light bulb is called Quick Actions, and you can summon this code-assistance tool by pressing Ctrl+. even when the light bulb doesn't appear. This functionality, introduced in VS 2015, aims to detect "the little things" and improve your code's efficiency.
What does this entail? Well, later, when you have gained some experience with C#, it will be clearer, but here's a quick example: you wrote System.Console.WriteLine and the light bulb appeared, remember? If you click on the light bulb, it will provide you with a code simplification, as shown in Figure 3:
Figure 3: Quick Actions offers a code simplification suggestion.
If there were multiple possibilities for this particular situation, there would be a list and, just like the intellisense functionality, you could use either mouse or keyboard to select the appropriate choice. This functionality, however, does more than that: it allows you to preview the changes and apply them beyond the scope of this line of code. You can choose to change all occurrences of this situation in the current source file (mentioned as Document in Figure 3), project, or solution. When you click the suggestion line to accept it, the code will automagically change, saving you a lot of time. The "little things" I mentioned earlier can be anything the editor "thinks" can be improved, ranging from missing variable definitions to code simplifications, like the one above, among other things. I'll come back to this code-assistance tool later with a more elaborate example so that you can really appreciate how powerful and useful it is.
There are other code assistance tools, many of which are accessible via right-mouse-button click, but they require a broader understanding of a few concepts to use correctly. The next TechTip presents a few of those concepts by explaining how a C# program is structured and how it compares to an ILE program.
LATEST COMMENTS
MC Press Online