4 ms·
OTOH hlmost many modern IDEs can't even open two copies of the same file and display it side by side or record arbitrarily complex macros and play them back any
by billfruit 7y ago
OTOH hlmost many modern IDEs can't even open two copies of the same file and display it side by side or record arbitrarily complex macros and play them back any number of times.
- jonnycomputer 7y agoDon't know about the second, but displaying two copies of the same file side by side is pretty common in my experience, e.g.: PyCharm: Yes VS Code: Yes Eclipse: Yes
- olejorgenb 7y agoVs code can't open two windows properly though..
- jonnycomputer 7y agoI'm curious what you mean, as I've not had any issues thus far. I'm only an occasional VS Code user however.
- olejorgenb 7y agoOnly one os-level window per workspace is supported AFICT. It's possible to tile editors within this window, bit you can't detach an editor.
- dmortin 7y agoCompletion and refactoring are much more important than these. When working with code it's very powerful to work on a higher abstraction level. E.g. move this method to an other class and update all references to it automatically keeping the code correct. It takes a few seconds in a modern IDE while in a text editor you have to do most of it manually. When you get used to the power of refactoring, you start to use it more and more, like a sculptor getting a more powerful tool. Open source editors should pool their resources to create such powerful refactoring tools which can be accessible in any editor via LSP or something.
- gmueckl 7y agoThe sad part is that text based representations of programs are holding back programmer productivity by raising the bar for these refactoring tools unreasonably. If programs were represented and edited directly as syntax trees, 80 to 90 percent of the complexity of refactoring tools would go away.
- dmortin 7y agoOn the other hand, when writing new code it is quite efficient to simply type, supported with proper completion. It would be much less efficient to create a program in a point and click gui, dragging visual elements onto the syntax tree. So both is necessary. Efficient text editing is required to work quickly with the code, edit things locally efficiently. And refactoring is also needed if you want to perform bigger operations which span methods or classes. An efficient text editor with completion + powerful refactoring. This is the winning combination.
- gmueckl 7y agoYou're jumping to conclusions when you're associating a syntax tree based program representation with the forced use of a mouse or cumbersome navigation for editing. Nothing could be further from the truth. A completely usable and fast keyboard based editing method for such a program representation is entirely possible. The only downside is that it's harder to create a minimal working version of such a tool compared to a text editor.
- dmortin 7y agoIt may be possible, but I haven't seen such a tool. I have seen tools where you edited the syntax tree via a GUI and it was terrible for writing code. It may work better for tree modifications. Text programs are pretty efficent when writing, editing code, because you can access a large number of elements quickly with the syntax. E.g. writing let a = 3 can be much quicker than starting some command palette from the keyboard, choosing the "declare variable" action and then fill some dialog with the name and value of the variable. I have doubts it can be made as efficient as typing, otherwise we would have seen such prototypes already. Have you?