{"id":4833,"date":"2008-01-08T19:52:00","date_gmt":"2008-01-08T19:52:00","guid":{"rendered":"https:\/\/blogs.msdn.microsoft.com\/vbteam\/2008\/01\/08\/did-you-know-intellisense-everywhere-lisa-feigenbaum\/"},"modified":"2024-07-05T14:34:56","modified_gmt":"2024-07-05T21:34:56","slug":"did-you-know-intellisense-everywhere-lisa-feigenbaum","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/vbteam\/did-you-know-intellisense-everywhere-lisa-feigenbaum\/","title":{"rendered":"Did you know? IntelliSense Everywhere (Lisa Feigenbaum)"},"content":{"rendered":"<p>I&#8217;ve decided to start a &#8220;Did you know?&#8221; series with tips &amp; tricks. First off is my favorite IDE feature in VB2008: <strong>IntelliSense Everywhere!<\/strong> Did you know about all the new places where you can now find intelliSense in VB2008? If you&#8217;re like me, once you try 2008 IntelliSense you won&#8217;t be able to go back to 2005.<\/p>\n<p>VB&#8217;s mission statement is to be the most productive tool for building .NET-connected applications. The VB IDE tools certainly support this point, with intelliSense in particular. Here&#8217;s a list of ways that intelliSense can make you more productive:<\/p>\n<ul>\n<li><strong>Faster typing:<\/strong> IntelliSense word completion helps you to <u>save&nbsp;keystrokes<\/u>.<\/li>\n<li><strong>Fewer errors:<\/strong> IntelliSense prevents coding&nbsp;errors by presenting <u>valid options<\/u> for the current context.<\/li>\n<li><strong>Less search time:<\/strong> IntelliSense saves you time by showing valid&nbsp;<u>member names<\/u> in a list.<\/li>\n<li><strong>Discoverability:<\/strong> IntelliSense helps you figure out what to code next by showing <u>what&#8217;s available<\/u>.<\/li>\n<\/ul>\n<p>But rather than listening to me tell you why it&#8217;s so great, wy don&#8217;t you try it out yourself?&nbsp;See the&nbsp;list of categories and images below, of all the new places where you can find VB IntelliSense in VS 2008.<\/p>\n<p><strong>KEYWORDS<\/strong><\/p>\n<p><em><strong>At the file level&#8230;<\/strong><\/em><\/p>\n<p><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/vbteam\/wp-content\/uploads\/sites\/7\/2008\/01\/Option.jpg\"><\/p>\n<p>Look at all that Visual Basic language help&nbsp;right in the IDE! Who needs to F1 anymore? \ud83d\ude42 j\/k<\/p>\n<p><img decoding=\"async\" title=\"Look at all that help on the Visual Basic language, right in the IDE! Who needs to F1 anymore? :) j\/k\" height=\"104\" alt=\"Look at all that help on the Visual Basic language, right in the IDE! Who needs to F1 anymore? :) j\/k\" src=\"https:\/\/devblogs.microsoft.com\/vbteam\/wp-content\/uploads\/sites\/7\/2008\/01\/OptionCompare.jpg\" width=\"819\"><\/p>\n<p><em><strong>At the declaration level&#8230;<\/strong><\/em><\/p>\n<p>Save time typing all those *long* keywords in the Visual Basic language!<\/p>\n<p><img decoding=\"async\" height=\"211\" src=\"https:\/\/devblogs.microsoft.com\/vbteam\/wp-content\/uploads\/sites\/7\/2008\/01\/NotInheritable.jpg\" width=\"420\"><\/p>\n<p>Use IntelliSense to write error-free declarations. For example, properties cannot be declared at the file level. (If you tried to declare one there, you would get a compiler error.) Thus, when you invoke intelliSense at the file level, &#8220;Property&#8221; will not appear in the list:<\/p>\n<p><img decoding=\"async\" height=\"263\" src=\"https:\/\/devblogs.microsoft.com\/vbteam\/wp-content\/uploads\/sites\/7\/2008\/01\/PropertyNotAtFileLevel.jpg\" width=\"729\"><\/p>\n<p>However, properties *are* allowed at the class level, so if you try to declare a property within a class, the keyword *will* appear in the list:<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/vbteam\/wp-content\/uploads\/sites\/7\/2008\/01\/PropertyAtClassLevel.jpg\">&nbsp;<\/p>\n<p>Mid-line verification works as well. For example, properties cannot be declared &#8220;MustInherit&#8221;. Thus if I type MustInherit and then invoke the list again, &#8220;Property&#8221; will no longer appear:<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/vbteam\/wp-content\/uploads\/sites\/7\/2008\/01\/PropertyAfterMustInherit.jpg\">&nbsp;<\/p>\n<p>IntelliSense is a great tool here, to help you write grammatically correct code! It eliminates the extra burden of having to keep all these rules in your head.<\/p>\n<p><em><strong>At the method level&#8230;<\/strong><\/em><\/p>\n<p>As you probably expect by now, keyword intelliSense works here too! Here are&nbsp;just a couple examples:<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/vbteam\/wp-content\/uploads\/sites\/7\/2008\/01\/Do.jpg\">&nbsp;<\/p>\n<p><img decoding=\"async\" height=\"337\" src=\"https:\/\/devblogs.microsoft.com\/vbteam\/wp-content\/uploads\/sites\/7\/2008\/01\/RaiseEvent.jpg\" width=\"635\">&nbsp;<\/p>\n<p><strong>IDENTIFIERS (NAMES OF VARIABLES, METHODS, TYPES, ETC.)<\/strong><\/p>\n<p><strong><em>At the beginning of the line&#8230;<\/em><\/strong><\/p>\n<p>IntelliSense now appears at the beginning of a line. The example above showed <em>keywords<\/em> in the IntelliSense list at the beginning of a line within a method-body. However, <em>identifiers<\/em>&nbsp;appear there too. Here are a couple examples&#8230;<\/p>\n<p>You&nbsp;can now use intelliSense to remember your method names:<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/vbteam\/wp-content\/uploads\/sites\/7\/2008\/01\/BarBOL.jpg\">&nbsp;<\/p>\n<p>Assigning various members off an instance isn&#8217;t so tedious anymore, when you don&#8217;t have to keep typing out the instance name! (see below)<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/vbteam\/wp-content\/uploads\/sites\/7\/2008\/01\/FileDialog.jpg\">&nbsp;<\/p>\n<p>&nbsp;<strong><em>In an expression&#8230;<\/em><\/strong><\/p>\n<p>There are *many* expression contexts in the Visual Basic language, and now you can enjoy enhanced IntelliSense support&nbsp;in *all* of them. Below are some examples.<\/p>\n<p>After Equals:<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/vbteam\/wp-content\/uploads\/sites\/7\/2008\/01\/AfterEquals.jpg\"><\/p>\n<p>After a binary operator:<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/vbteam\/wp-content\/uploads\/sites\/7\/2008\/01\/BinaryOperator.jpg\"><\/p>\n<p>Argument to a function call:<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/vbteam\/wp-content\/uploads\/sites\/7\/2008\/01\/Arguments.jpg\"><\/p>\n<p>After Return + Space in a function. (Don&#8217;t worry about remembering all your local variable names when writing the Return statement for your function anymore &#8211; IntelliSense will do the remembering for you.)<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/vbteam\/wp-content\/uploads\/sites\/7\/2008\/01\/ReturnSpace.jpg\"><\/p>\n<p>Within a statement:<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/vbteam\/wp-content\/uploads\/sites\/7\/2008\/01\/SelectCase.jpg\"><\/p>\n<p><strong><em>Etc., etc., etc. <\/em><\/strong>There are so many places where the new VS2008 intelliSense appears, that it is not possible to detail them all&#8230; But I hope this this list&nbsp;will give you&nbsp;an idea.<\/p>\n<p>Happy coding!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I&#8217;ve decided to start a &#8220;Did you know?&#8221; series with tips &amp; tricks. First off is my favorite IDE feature in VB2008: IntelliSense Everywhere! Did you know about all the new places where you can now find intelliSense in VB2008? If you&#8217;re like me, once you try 2008 IntelliSense you won&#8217;t be able to go [&hellip;]<\/p>\n","protected":false},"author":15,"featured_media":8818,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[192,195],"tags":[57,74,95,166],"class_list":["post-4833","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-featured","category-visual-basic","tag-did-you-know","tag-ide","tag-lisa-feigenbaum","tag-vb2008"],"acf":[],"blog_post_summary":"<p>I&#8217;ve decided to start a &#8220;Did you know?&#8221; series with tips &amp; tricks. First off is my favorite IDE feature in VB2008: IntelliSense Everywhere! Did you know about all the new places where you can now find intelliSense in VB2008? If you&#8217;re like me, once you try 2008 IntelliSense you won&#8217;t be able to go [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/vbteam\/wp-json\/wp\/v2\/posts\/4833","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/vbteam\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/vbteam\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/vbteam\/wp-json\/wp\/v2\/users\/15"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/vbteam\/wp-json\/wp\/v2\/comments?post=4833"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/vbteam\/wp-json\/wp\/v2\/posts\/4833\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/vbteam\/wp-json\/wp\/v2\/media\/8818"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/vbteam\/wp-json\/wp\/v2\/media?parent=4833"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/vbteam\/wp-json\/wp\/v2\/categories?post=4833"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/vbteam\/wp-json\/wp\/v2\/tags?post=4833"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}