Here are the customization changes I make when setting up SSMS. You can find all of these settings by going to Tools, then Options…
- Environment > Keyboard > Keyboard This is a safety issue…unprogram Ctrl+E and Alt+X as shortcuts for executing a query. I use F5 to execute queries and have accidentally hit Ctrl+E or Alt+X and been sorry…
- Environment > Keyboard > Query Shortcuts These are great timesavers. Shortcuts like sp_who run as standalone query executions. But, these also allow us to highlight text, press the keyboard shortcut and have the highlighted text run at the end of the configured query shortcut. I probably highlight a table name and press Ctrl+4 or Ctrl+5 dozens of times in a week to save myself from typing “SELECT TOP 1000 * FROM table_name” or “SELECT COUNT(*) FROM table_name” each time.
- Environment > Startup When I open SSMS I like to have Object Explorer and a Query Window open right away.
- Text Editor > Transact-SQL > Tabs This is definitely a preference but inserting spaces instead of tabs to indent code helps to keep code looking consistent across many text editors. Have you ever opened a script that looks great in SSMS in another text editor or diff tool and the indentation is completely different making the script impossible to follow? This change solves that problem.
- Query Results > SQL Server > Results to Text The default number of characters displayed in the Results tab when in Text mode is 256. I do not hang out in Text Results mode often but when I drop into it (Ctrl+T) the reason I am there is to see text values that that do not show up well in Grid Mode, e.g. long values or values with line breaks, so I want all the text from the database SSMS offers to get for me.
- Designers > Table and Database Designers I do not use it often but for quick and dirty changes for demo or testing I like being able to save changes to a table through the Designer so I uncheck this option.
- SQL Server Object Explorer > Scripting Script Indexes when you script a table from Object Explorer. This adds a little overhead to the scripting operation but it is worth it. Indexes are important to see right away when I look at a table definition.