Hi Team! Thank you so much for the tools you're providing. And some of them are really awesome, being literally the gold standard in IDE world.
I'm using Datagrip over several versions. After presenting new UI you asked to share the experience and I decided to share mine. I'm working mostly with data, and DataGrip should be the universal data tool but here is my top 7 (+1) topics about DataGrip (including new UI) that don't allow me to say that.
1. One of the top reason is the import. Mostly, data is viewed through MS Excel and being sent and recieved also in this format. Why
so widespread format was ignored in the import menu. Only CSV or... Following from this...
2. ...Second one: offer to write groovy script to do something extra. It is sounds good to provide the ability to expand functionality, but why should I
learn some additonal languages to have the feauture that included in majority of IDEs? In general, this IDE reminds me the compilation of compilers-
we offer everything but you should write it yourself. Pretty flexible but time spending, and not for the people who wants database functionality here and now.
3. Folowing from the second, it would be conveinient to have simple way to add menu item or button that calls or executes sql script and accept named variables.
Some simple constructor that allows store sql and use it through UI. Plugins, built-in compilers probably good for other engineers but if you work with databases
which primarily language is query language strucutred or not, but simple.
4. Talking about storing frequenty used queries, it would like to have at least "search" function in the history window. Why we collecting queries there without ablity to easily find something useful there?
5. Continuing about UI, it raises some questions about what I would like to see and to hide during work with database. Guys, while new UI making DataGrip similar to other popular IDE, do you think it's worth taking up so much space in the middle of the screen with four thick empty bars? I have suffucient screen resolution but still, don't want waste it to empty meaningless UI bars.
6. Why you don't allow to hide this conversation between IDE and database in the output? This smalltalk is interesting when they are arguing but in other case I would like to hide it also. It good to know where the error occured. And here is the gap: IDE shows me the row:col notation in status bar and the position in error message from DB. Should I write the groovy script to convert position-to-row:col notation?
7. Ttouching on the mechanisms that the IDE ses to work with the database, should I see all this annoing consoles? It may be necessary to do this, but basically the window is opened to run some small query. Creating console file, giving it 1256689th number and holding it in the menu, I don't know ... Maybe better create it in the background and delete after window is being closed and give the user the right to decide - save it as a file or not?
+1 And about T... The last but not least and probably one of the most weird thing is the tables aliasing. IDE doesn't show the DB objects after "dot", only keywords, that's ok. But when it replaces the "t" alias on enter keypress... And there is neither chance to change this behavior, nor option to setup automatic simple one-letter alias to all queries,
only SomethingLongJavaLikeCamleCase() identifier. You just write "select * from table t" enter... Whoa! Tablespace! Wth?
It is a difficult work to invent database Swiss Army knife and it can lead to bloated complicated tool with overloaded toolbars, or tool that have such type of options and settings that makes you feel like you need to code everything yourself to make it work. SQL is not something that have projects linkage, builts objects etc. At least now, there are
several simple statements. Please, simplify the IDE to level it can be siutable for data not the complex software-producing IDE.
My version is 2022.3
PS. Maybe I'm wrong, sorry for that but the complexity of options doesn't allow me to change my mind now, keeping deeply in secret how to get this functionality easy just turning on the appropriate setting.