Uploaded image for project: 'NetBeans'
  1. NetBeans
  2. NETBEANS-1649

Adding syntax highlighing and code completion of different languages inside strings (JS)



    • New Feature
    • Status: Open
    • Major
    • Resolution: Unresolved
    • Next
    • None
    • None


      As of today, we can have a lot of languages inside strings like SQL or JS or HTML. If we have to add such code inside strings in JavaScript, it is really hard to "debug" or to figure out what you have forgotton and not really readable because it is still a string.

      For this, NetBeans has embedded languages support and to not say I want exact this language inside a string, which doesn't make sense, because In JavaScript I can have HTML, XML, JS, SQL and whatever inside of a string, I should change it via a hint inside of the editor.

      So when I have a java file with code like this:

      var testSQL = "SELECT * FROM"; // Could be inside a node script

      I would expect, that the code looks like a normal string, but when I click inside the string, I should get a hint where I can "Choose embedded language". After running this hint, a very small not disturbing dialog (Like the insert code dialog from java) should come up and should show me all supported languages like Java, SQL, PHP, HTML, XML, CSS, JS, Regex, etc.

      This is a dynamic approach because setting it to a default language is not right. In the next line maybe you have this code:

      var myWhatever = "<h3>Nice</h3>"; // Inline templates or smth for the view

      And it should not look like SQL, it should still looks like a string, until I want to change it to HTML.

      This is the same approach as IntelliJ does and it works very well: https://www.jetbrains.com/help/idea/running-injected-sql-statements.html

      Maybe not every language makes sense there and an option for that is needed as well but for an MVP all is ok. IMHO.




            lababidy Mohannd Lababidy
            chrizzly Christian Lenz
            2 Vote for this issue
            3 Start watching this issue