Easy-to-follow video tutorials help you learn software, creative, and business skills.Become a member
IntelliSense is one the most helpful features I can think of within Visual Studio. When you are writing code, it gives you instant, automatic, context-aware help. I really can't imagine working without its helpful suggestions. There are some IntelliSense features that are powerful but less intuitive, however. In this movie, I will illustrate the countless ways in which IntelliSense helps you write your code. To show you IntelliSense, I have to have a code window open. So I'm going to go into Visual Studio and open this UsingIntellisense project, and I'm going to open this Programs.cs file.
I've already got some code in here, which I'll use later in this demonstration. For now, I'm just going to declare a variable of type book. Book is one of the classes that I have inside this application. So I'm going to typing "var b = new", and I'm going to start typing the word "book". I don't even need to get the capitalization correct. I'll type "bo", and you can see that this IntelliSense dropdown shows that there are four types that meet my requirements: Book, bool, Boolean. The last one is a bit of a stretch, but you can see that in the middle of the word is the word Bound, and that has Bo in it.
To write the rest of my code I'm going to press Tab, or I'll go back here. Now I backed up a couple of letters, and I don't get the automatic dropdown. To force the dropdown again, I can use one of my favorite keystrokes inside Visual Studio: Ctrl+Spacebar. Hold down the Ctrl key, tap the Spacebar, and there's Book. The reason Book is selected is because it remembers the last word that I used in this IntelliSense window. Now I'm going to type the open parenthesis, and you see what happened? I didn't have to type O and K. I just had to type the open parenthesis.
It's also works with things like semicolon. We'll come back here. Do a Ctrl+Spacebar. Book is selected. Now, I'm going to type the semicolon, and you see it finished typing the word "Book" and then put my semicolon in. Force yourself to make a habit of learning these shortcuts. Next, I'm going to call a method on the console class. So I'm going to close method called WriteLine. Now it just so happens that the author of the console class wrote 19 different versions of the WriteLine function. So the IntelliSense knows that there's 19 different versions of the WriteLine each one varying slightly by the type of parameters they have, and it's showing me that there are 19.
I can click on this down arrow to refresh my memory what these different methods are. For example, this one takes a one value of type char. I also get some specific text down here telling me more about this function. Let me delete that line of code. Next, I'm going to show you something called Smart tags. "var x = new". And I'll start typing a class that doesn't exist, like the Barn class. There is no Barn class here.
So the IntelliSense engine is going to warn me that I have done something stupid by putting the red squiggle there. If I hover my mouse over it, it says, "The type or namespace Barn could not be found," and give me some suggestions of what to do. That's because it's examined all my types and can't find the definition of Barn anywhere. Now if I select the word Barn, you will see that I get this thing called a smart tag. Now, smart tags are kind of hard to activate. You have to move your mouse over this, click here one time, and then I'll see this dropdown menu. It says, "Would you like to generate a class for the Barn." I'll show you how to generate a class later.
Let me just show you how to use this Generate new type. I'll click here, and I get a dialog, and it's asking me the access scope for this new type, what kind of type I want: class or struct or an interface or an enumeration-- I think I'm going to choose struct-- and then what file to create barn.cs. Then I'll click OK. Now you notice that my red squiggle goes away. I now have a new file in my Solution Explorer. And if I pop that open and take a look inside, you'll see that there is a public struct Barn in there. Now let me return back to the code I was working with a second ago.
I'll go back to Program.cs. I also have a green squiggle here. That's because I've declared this variable, but I haven't used it anywhere in my code--suggesting that either I forgot to do something with it, or I should erase this line of code, because I'm not using anywhere else in my application. Next, I want to show you something called autocompletion. Let me delete this line of code, and I'm going to type in "var x = new". Now watch carefully what I'm going to do. I'm going to type a capital S and then a capital L. This is really neat what's going on here.
There is a type available that has a capitalized letter S and an L for SortedList, and it's picked that out of the list. There is no word that starts with SL, so it's showing me the SortedList. Now all I need to do is press one of those keystrokes I showed you earlier. Space, Tab, Enter. I'm going to press the Tab key, and it stubs in that new SortedLlist. This also works if you have your own variables. I will come over here and say "var ReallyBigNumber = 9".
Then down here I'm going to type in "RBN", and it's finding that in the list. Even when I only had typed RB, it shows me that there's really big number, and there is something called EncoderReplacementFallbackBuffer. So I'm going to type in N, and now I'm going to press Tab key to have it finish typing. Let Visual Studio do the typing for you, and it'll save you lot a keystrokes. Next, I want to show you something called generate from usage. I already have a real customer class over here, but I'm going to sabotage my application by coming over here and removing this customer class, which of course will break my code.
Now I get the red squiggle, and I get the smart tag. I am going to come over here to my smart tag and choose Generate Customer, which adds this new file, Customer.cs. Now here is the neat part. I can go down to the first name and right- click on that or click on the smart tag. Sometimes it's hard to get these to pop up. So I can force them to show by using Ctrl+Period like that. I find that easier than trying to mouse over it. So I'm going to say, generate a property stub. I am going to click on this one and do Ctrl+Period. Do the same thing two more times. Ctrl+Period.
Then on line 26, this is a function call, because of the parentheses. So when I do Ctrl+Period down here, it says, "Would you like to generate a method stub for Save." Now all of my squiggles go away, and if I look inside my Customer.cs file, you'll see that it's stubbed in some properties and a method. Now I've still got some work to do, but I no longer have my IntelliSense errors over in the other file. My last demo is going to be showing you how to work with these using statements at the top of my code window. You might recall that using statements are there so that I don't have to type all of the names of the class down here in the code section of my window.
What I can do in Visual Studio is I can right-click up here and choose Organize Using. Then I can sort them in alphabetical order. Or what I'm going to choose is I'm going to sort them in alphabetical order and also remove any usings that I'm not currently using. So that removed three of the four using statement I had at the top of the page. I can't say enough good things about the IntelliSense support inside Visual Studio. It's a feature that I simply couldn't live without, because it is so helpful when I write my code.
Get unlimited access to all courses for just $25/month.Become a member
61 Video lessons · 96840 Viewers
56 Video lessons · 110534 Viewers
71 Video lessons · 79377 Viewers
131 Video lessons · 38074 Viewers
Access exercise files from a button right under the course name.
Search within course videos and transcripts, and jump right to the results.
Remove icons showing you already watched videos if you want to start over.
Make the video wide, narrow, full-screen, or pop the player out of the page into its own window.
Click on text in the transcript to jump to that spot in the video. As the video plays, the relevant spot in the transcript will be highlighted.