Code Completion

Keywords suggestion

SQL Complete dynamically analyzes the context of the code you are writing in the SQL editor section and displays prompts with the most relevant keywords and even code phrase suggestions depending on the case.

Keywords suggestion

Objects suggestion

As you type the first letters of the object name, SQL Complete prompts a list of available objects and automatically filters them depending on the characters you are typing. Filtering is sensitive to typed characters, symbols, whitespaces and CamelCase.

Objects suggestion

T-SQL code suggestions

SQL Complete helps you to accelerate your routine code typing with multiple embedded prompts for T-SQL code, DDL, and security statements that may be inserted right when you type your code.

T-SQL code suggestions

CTE suggestions

SQL Complete simplifies the maintenance of complex queries by suggesting Common Table Expressions (CTE) and recursive CTE in SELECT, INSERT, UPDATE, DELETE, or CREATE VIEW statements. For recursive CTE statements, scalar functions, columns, and aliases are suggested.

CTE suggestion

Suggestions in SQLCMD mode

Scripts executed through the command line are parametrized. A database or schema name can be a variable which makes it impossible to show suggestions for objects of such schemas and databases. SQL Complete takes the values of variables from the text of the document you're working with and suggests objects just as in cases with standard SQL scripts.

Suggestions in SQLCMD mode

Linked servers suggestions

If you are using a linked server configuration when creating queries, SQL Complete prompts all the existing objects for a linked SQL Server.

Sorting suggested keywords

SQL Complete automatically sorts object names and keywords in the prompt list depending on the characters you are typing. Sorting is sensitive to typed characters, symbols, whitespaces and CamelCase.

Sorting suggested keywords

JOIN clause auto generation

SQL Complete suggests a complete JOIN statement when you combine tables based on foreign keys or it can prompt conditions based on column names. You can select a JOIN statement from the prompt list manually, in case you need a specific JOIN operation.

JOIN clause autogeneration

Phrase completion

Not just separate keywords and object names are suggested in the prompt list, but entire code phrases, such as OUTER APPLY instead of APPLY, ORDER BY instead of ORDER, PARTITION FUNCTION instead of PARTITION, etc.

Phrase completion

Semi-transparent view of the suggestion box

The suggestion box may overlap with your code. By holding Ctrl, you can make the box semi-transparent.

Auto-generation of table aliases

When you write a SELECT...FROM statement, SQL Complete automatically generates aliases for tables, views, table-valued functions, and synonyms, which can be further used to refer to the objects.

Custom alias mapping

You can set up custom rules for assigning aliases to table objects. What is more, you can create your own custom aliases and assign them to the objects you constantly use. SQL Complete offers a number of alias masks for mapping custom aliases. You can use the alias masks to specify the necessary conditions and actions when assigning aliases.

Column picker for quick list building

When you type a SELECT statement or a similar clause, Column Picker prompts a complete list of relevant tables and columns. In the suggestion box, you can select multiple columns at once and they will be added to your SQL document.

As you type the first letters of the column name, the list is filtered and those names that match the letters are shown on the top of the list. In addition to column names, you can see the data type of each column.

Wildcard expansion

One of the nice things with SQL Complete is that you can expand the asterisk symbol to the list of all of the columns that exist in tables, views, and table-valued functions.

INSERT, EXEC, ALTER, and UPDATE statement expansion

To avoid tedious typing, INSERT, EXEC, ALTER, and UPDATE statements will be expanded to a full code template on pressing the Tab key.

Highlight occurrences of an identifier

The feature allows you to see all identifier occurrences when you click one. Just as you position the cursor on an identifier, all occurrences of the identifier in the code are instantly highlighted.

Highlight matching columns in the INSERT statement

You won't get lost among multiple values that should be inserted in columns, as SQL Complete will show which value corresponds to the specific column you're clicking in the text of the INSERT statement.

Column name in the values area for INSERT statement

You will be prompted to enter the column name after opening a bracket in the VALUES clause. Column names will be hinted according to the cursor position in the VALUES clause as you enter values. This will help you quickly navigate when entering column values.

Pair highlighting

SQL Complete highlights both the opening and closing BEGIN/END code elements to visually define separate code blocks. This feature allows you to determine whether element pairs are properly paired and determine misspelled paired code elements. SQL Complete recognizes the following sets of delimiters: IF...ELSE, BEGIN...END, BEGIN TRY...END TRY, CASE...END, etc.

Pair highlighting

Named regions

This option adds the possibility to specify limits for named and unnamed regions. Expand/collapse buttons are added near a region head so you can wrap and unwrap regions to show them in a code format.

Named regions

Parameter information for functions

When you type call statements, information on stored procedures and function parameters is displayed.

Parameter info for functions

Quick object information

A hint gives you essential information on database objects while you are writing a code. For tables, you are prompted with column names, data types, additional column properties (e.g. not null and identify attributes), primary, unique, and foreign keys. For other objects, the quick info includes object type and an available user description.

Quick object info

Rows count information

An estimated number of rows is shown when you hover over a table name. This can help estimate the effect of running a query.

Rows count info

SQL snippets

A SQL snippet is a frequently used code template which can be inserted into the code you are typing by pressing the Tab key. The feature makes recurrent use of code fragments more comfortable and simple.

Snippets Manager provides a great number of default code templates to choose from. The default snippets can be modified as per your needs. Snippets Manager also allows you to create your own code snippets.

Recently closed documents

View and restore documents closed during the last session. This can be useful during intensive work with large amounts of used tabs.

ON condition suggestion for JOIN

Suggestion list of ON conditions for JOIN joins. In the ON suggestion, the join options are selected by the primary key of the main table and the foreign key of the dependent table, as well as by the matching field names of the joined tables.

ON suggestion

Reverse ON condition suggestion for JOIN

The option allows displaying items in the list for ON suggestion in the reverse ratio. The functionality provides the ability to determine the order of the relationship of the elements for ON clause, depending on the script writing rules.

Disable/enable code completion

The functionality allows SQL Complete Intellisense disabling \ enabling at the user's request via using just one menu item. Note that formatting features will be working after code completion disabling.

Exclude databases from suggestion

This feature allows excluding items of user-defined databases from the suggestion list.

SSDT projects

SQL Complete offers suggestions for keywords and object names as well as provides script formatting across all object editors in SSDT projects.

SSDT projects feature

Non-aggregated columns in GROUP BY

SQL Complete prompts non-aggregated columns grouped in the SELECT list and allows a user to select multiple columns at once or insert them one by one in the required order.