The SQL Server Management Studio is, in reality, a Visual Studio shell and therefore exposes to the SQL Server users, all the related usability and productivity features of what is perhaps the most powerful IDE of all times from the Microsoft stable. The SSMS for SQL Server 2008 used the VS2008 shell and therefore came with a lot of goodies, including Intellisense. The SSMS for SQL Server 2012 is powered by VS2010 shell and brings a lot of newer features and improvements to existing ones.
Completion Mode in Intellisense
All of us use slightly different programming practices – some of us use “TAB” to complete an object name shown by Intellisense, whereas others use “SPACE”. Both worked in the same way in the SSMS for SQL Server 2008.
However, when SQL Server 2012 was released, the SSMS did something different – SPACE no longer selected an object name! By default, one had to use the “TAB” key to complete the word. Allow me to demonstrate.
|SQL 2008 /
SQL 2008 R2
As you can see, there is a marked difference in behaviour for the “completion mode” of the Intellisense in SSMS 2012. So, what’s going on? And for those who liked it the old way, how can we “fix” it?
Toggling the Completion Mode
The answer comes as a facility in the SSMS IDE to toggle the Completion mode. Go to the “Intellisense” option in the Edit menu and click on “Toggle Completion Mode”:
After toggling the completion mode, the Intellisense selection starts behaving in the same way as SSMS for SQL Server 2008. The functionality can also be achieved by using the key combination Ctrl + Alt + Space.
The only known issue I find with “Toggle Completion Mode” is that it is session specific. Restarting SSMS resets the completion mode setting to default.
The related MS Connect Case is: http://connect.microsoft.com/SQLServer/feedback/details/686087/intellisense-completion-mode-does-not-persist. Unfortunately, it is marked as “Can’t Reproduce”. If you can reproduce it and would like to get Microsoft to fix it, please cast your vote accordingly on the Connect site.
- To know more about the features of SSMS, please refer the tutorial series, “Getting Started with SSMS”
- Madhivanan has written a nice post on the "Intelligent use of Intellisense" showing how Intellisense can be used to determine which objects are available based on the T-SQL statement context that one is in
Until we meet next time,