Hello! We have time releases. This is a post about what is interesting in the new version of 
DataGrip - our IDE for SQL. These changes also concern 
IntelliJ IDEA , 
PyCharm , 
PhpStorm and 
RubyMine - those tools from JetBrains that have database support.

Here is what we added:
')
CSV import
The old way was 
uncomfortable . We have added an interface for importing - now select the item 
Iport from file ... from the context menu of the data source, specify the path to the file and go ahead.
A dialog box opens in which there are options for describing the file structure — the separator used, quotation marks, the presence of headers, etc. In the right-hand part, specify the field types and other characteristics of the table containing the data. Using the 
Delete key, you can delete columns from the creation script of this table. If errors occur during import, the process will not stop, and error information will be recorded in a text file - in the lower part of the window, specify where to create it.

Choice of schemes
Schemes that you see in the database window, now choose directly from the tree. There are no more data source properties in the 
Schemas tab. Remember that the console only knows about objects from this tree.

Language support in string literals
You can assign a string literal to a specific language and use the IDE's features for working with it — highlighting, autocompletion, and others. This can be 
JSON , 
XML , regular expressions, or any 
SQL dialect.
When DataGrip understands that the field contains 
JSON data or 
XML - support is performed automatically.
Let's say we insert a value in a 
JSON type field.

If you specify a value for the default field, the same thing happens - here the IDE realized that you were using 
XML , and the possibilities for working with this language became available. This is the renaming of elements, the search for occurrences, the movement of elements in hand, etc. Do not forget to look at the 
XML support documentation page in our tools.

By default, only two types are built in for which languages are automatically supported, JSON and XML. But if you have a data type for which you want to have the same thing, then select Inject by Type from the Alt + Enter prompt menu.

The example uses the 
CUSTOMDATA type, but, let's say, we always use 
XML for types whose name ends with 
DATA . The name of the types for which automatic support will be performed is described in the regular expression 
(? I). * DATA. On the fly, you can check if one or another string matches the pattern, in this case, the name of your type.

Type name templates for language support in literals fall into 
Settings / Preferences → Editor → Language Injections.
You can now check the string against the regular expression anywhere. On 
Alt + Enter select the appropriate language, and then again on 
Alt + Enter select 
Check Regexp.
Another way to tell a medium about a language in a string literal is a comment of the form 
language =% name% . In the following example, dynamic 
SQL is used — autocompletion and navigation have worked inside the line: the environment has understood which objects are used in the request within the line.

Spreadsheet Editor
For values inside the table, we added an addition by the values in the field, which is called by Ctrl (Cmd) + Space. This resembles an already existing type of add-on, which is called by Alt + / - it searches for all the words used in all open files.

Specific improvements for 
PostgreSQL : you can edit range fields.

And fields with time zones.

Column size is now changed by 
Ctrl (Cmd) + Shift + Left / Right . Highlight all columns by 
Shift + Space , as in Excel.

Console
Like all other development environments on the IntelliJ platform, we now support ligatures. To do this, they must support the font itself, which you install. These can be 
FiraCode , 
Hasklig , 
Monoid or 
PragmataPro .

It turns out that:

A nice feature for those who use several languages, that is, for you and me: autocompletion will help if you forgot to switch the layout.
 Surround with function
Surround with function appeared in the Surround with ( 
Ctrl / Cmd + Alt + T ) 
menu - the selected expressions will be taken in brackets, and the cursor will be placed in front of the first bracket. Previously, this thing did not work with multi-cursor, now everything is fine.

For 
PostgreSQL, we supported the 
search path - add and remove charts from the menu at the top of the console.

Connection
In the connection window, the addition of names in the server, instance and database fields now works.

Last time, there were a lot of comments about problems with connecting to 
SQL Server . We have written a 
small guide on 
how to solve basic problems with this.
Recompiling Packages in Oracle
The corresponding item is added in the context menu, and only those packages that need it can be recompiled. To do this, select Invalid objects only.

Export schema
Now you can export all schema or selected tables at once. We started work on integrating DataGrip with the external 
pg_dump and 
mysqldump tools, so write your wishes in the comments!

Images as IDE background
In the 
Find Action menu 
(Ctrl (Cmd) + Shift + A), find 
Set Background Image or select the corresponding item from the context menu of the image file. Then adjust the transparency and other background settings. This has appeared in all IDEs on the IntelliJ platform.

If you want to learn more, welcome to the 
What's new page, and do not forget to look at 
Features , then suddenly something did not know?
We will be glad if you 
try DataGrip 2016.2 and tell us about your impressions while we are preparing the first minor update.
DataGrip command.