Features I'd like to see in future IDEs
Proposed improvements for IDEs include queryable expressions for debugging, coloration of comments, embedding images, a personal code vault for snippets, and commit masks to prevent accidental code commits.
Read original articleThe article discusses potential improvements for integrated development environments (IDEs) to enhance developer productivity. Key features proposed include "Queryable Expressions" for easier debugging by allowing developers to search through complex objects for specific values. Another suggestion is the "Coloration of Tagged Comments," which would enable different comment types to be visually distinguished, improving code readability. The author also advocates for "Embedding Images as Comments," allowing developers to include visual aids like UML diagrams directly in the code, which would help maintain synchronization between documentation and code. The "Ghost/Replay" feature is proposed to save the last debugged run, providing context for variable types and values during development. Additionally, the "Save To Assistant" feature would allow developers to create a personal code vault that interacts with a lightweight language model to suggest code snippets. Lastly, "Commit Masks" would enable developers to mark sections of code as non-committable, preventing accidental commits of temporary patches while still allowing local execution. The author acknowledges the potential risks of some features but believes they could add significant value if implemented thoughtfully.
- Proposed features aim to enhance debugging and code readability.
- Visual aids like UML diagrams could be embedded directly in code comments.
- A personal code vault could leverage language models for snippet management.
- Non-committable code sections could prevent accidental commits of temporary fixes.
- The article emphasizes the need for thoughtful implementation to mitigate risks.
Related
Visual programming should start in the debugger
Visual programming leverages visual-spatial reasoning, proposing enhanced debuggers to visualize data structures over time. Efforts prioritize debugger improvements over text editors to create a new visual programming approach.
Where should visual programming go?
Visual programming enhances software development by integrating graphics with traditional code syntax. Advocates suggest using diagrams alongside code to improve understanding and maintain cleaner code, aiming for a harmonious coexistence of text and visuals. Luna explores a dual representation system where diagrams complement textual coding, similar to game engine scene management.
Ask HN: Am I using AI wrong for code?
The author is concerned about underutilizing AI tools for coding, primarily using Claude for brainstorming and small code snippets, while seeking recommendations for tools that enhance coding productivity and collaboration.
Where should visual programming go?
The article discusses the future of visual programming, advocating for its role in enhancing traditional coding through useful visual elements, while outlining four integration levels for diagrams and code.
We need visual programming. No, not like that
Visual programming struggles to gain traction as it attempts to replace code syntax instead of focusing on developers' actual visualizations, such as state transitions and memory layouts, requiring better integration and usability.
Like, code formatting, that's just an implementation detail. Why can't there be a thing to let two people edit the same repo with different formatting preferences without it causing merge conflicts?
It annoys me to no end when auto-complete stops working as it waits on rust-analyzer to finish. Like you had a completed run before; just use that information while you re-compute it!
- functionality (setting API urls; forcing certain screens to appear; overriding config values that come back from an XHR)
- quality of life (skipping delays; turning sounds off)
It would be great to be able to toggle and mix and match these patches locally without risking committing them. A combination of stashes and branches kind of works, but the ergonomics isn't great, especially when there are conflicts.
I've also seen some development teams rely way too much on IDE plugins to get anything done. Horrible software architecture with a 45 minute start-up time, I shit you not. They paid a shitload of money on software licenses for a special JVM/IDE plugin combo that allows them to hotswap almost everything to avoid ever having to restart the app during development.
Oh, it's also pretty much impossible to launch the development version of the app with a stock IDE due to the sheer amount of runtime code modifications from IDE plugins the development version depends on. Great times.
He mentions Jetbrains let you do this. I do it in vscode using the TODO Highlight extension.
Similarly what they called Commit Masks seems like an invitation for putting passwords into source code, which is a bad idea. Even if done just to check things real quick.
This is harder than it seems. However I have seen vscode users use `rr` recordings to even step backwards from a breakpoint. But it is gdb-based (i.e. not very platform independent) and is not displayed in a "ghost" like manner which would be neat. I think the first step is for runtimes to get better at recording replays.
I am huge fan of having a EC2 machine in AWS and using VSCode remote SSH or anything similar for development. There are so many differences between cloud and local, that you either embrace it (develop in EC2) or try to wrap it into one more layer or abstraction (hello Docker) and still fail.
Where's all the fun stuff? Debugger features are neat, but outside of this these features just seem tiny and cute and not too exciting.
Even stronger support for structured Treesitter-based editing? (See eg. Helix), proper multicursor support (Helix), both already seem like black magic to me compared to what came before.
That being said, a lot of people are going to disagree very passionately with what the very opinionated paragraph I just wrote. So I think it’s fair to point out that I actually think the author brings up some very good points that IDE makers should take notice of. Well maybe not the TODO part… If IDE’s should do anything about TODO comments it shouldn’t be giving them a different colour, no, it should refusing to save them.
My feeling is that such feature will whipe away a big chunk of existing and today's desired features.
The rest. Sure, fine. Don't really care.
Vmax? Yeah that sounds kinda cool actually.
Related
Visual programming should start in the debugger
Visual programming leverages visual-spatial reasoning, proposing enhanced debuggers to visualize data structures over time. Efforts prioritize debugger improvements over text editors to create a new visual programming approach.
Where should visual programming go?
Visual programming enhances software development by integrating graphics with traditional code syntax. Advocates suggest using diagrams alongside code to improve understanding and maintain cleaner code, aiming for a harmonious coexistence of text and visuals. Luna explores a dual representation system where diagrams complement textual coding, similar to game engine scene management.
Ask HN: Am I using AI wrong for code?
The author is concerned about underutilizing AI tools for coding, primarily using Claude for brainstorming and small code snippets, while seeking recommendations for tools that enhance coding productivity and collaboration.
Where should visual programming go?
The article discusses the future of visual programming, advocating for its role in enhancing traditional coding through useful visual elements, while outlining four integration levels for diagrams and code.
We need visual programming. No, not like that
Visual programming struggles to gain traction as it attempts to replace code syntax instead of focusing on developers' actual visualizations, such as state transitions and memory layouts, requiring better integration and usability.