Improve IDE comfort for DSL usage
See original GitHub issueHi,
Trying to write the UI using the DSL builders (as mentioned here: https://kvision.gitbook.io/kvision-guide/part-1-fundamentals/ui-structure#dsl), the IDE (in my case IntelliJ) is not helping, because no auto-completion is showing up.
Looking in the source code, I realize that it is because all the extension functions for DSL builder are written in companion objects:
class HPanel {
companion object {
fun Container.hPanel(...): HPanel { ... }
}
}
So, despite it is possible to use the DSL builders as shown in the doc, it needs imports such as:
import pl.treksoft.kvision.panel.HPanel.Companion.hPanel
And IntelliJ does not seem to be able to propose auto-completion for it.
I propose one of the following options:
- Don’t write theses function in a companion object*
- Document how to setup IntelliJ so that we can have good auto-completion
- Publish an IntelliJ plugin
*I have to say, I don’t understand the reasoning behind putting them in the companion object, and I’d be interested to learn the rationale behind it.
Issue Analytics
- State:
- Created 4 years ago
- Comments:5 (3 by maintainers)
Top Results From Across the Web
Modern IDEs are magic. Why are so many coders still using ...
Familiar and comfortable. It's this type of comfort that has kept whatever perceived war between those still using Vim or Emacs and the...
Read more >(PDF) All You Need Is Logs: Improving Code Completion by ...
In this work, we propose an approach for collecting completion usage logs from the users in an IDE and using them to train...
Read more >INTERNET USAGE FOR IMPROVEMENT OF LEARNING
Therefore, in this research tries to investigate and identify of internet usage that how it can improve students' learning, to ensure that the...
Read more >Internet Usage Policy Aimed at the Performance of Employees
Luckily, the Internet Usage policy has one main purpose. Its key intention is to enhance every worker's performance, resulting in a variety of...
Read more >Top Integrated Developer Environments (IDEs): Top 50 Tools
ShiftEdit is an online, browser-based IDE allowing you to develop websites from the comfort of your browser. Gain access to project files ...
Read more >Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start FreeTop Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
Top GitHub Comments
Released with 2.0.0-M3.
It’s now or never. The 2.0 move is the only moment to do such breaking change. Let’s try.