HISE Logo Forum
    • Categories
    • Register
    • Login

    Using external Text Editor

    Scheduled Pinned Locked Moved General Questions
    scripttext editorcode editor
    28 Posts 8 Posters 1.0k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • d.healeyD
      d.healey @Simon
      last edited by

      @Simon said in Using external Text Editor:

      When typing (, HISE sometimes inserts ()

      Yeah that one gets me, same goes for square brackets, sometimes you want it, sometimes you don't.

      @Simon said in Using external Text Editor:

      Sublime includes autocomplete for structures like, if, if else, for,

      HISE has it for loops, not sure I'd find it that helpful for if statements though.

      Peek 2024-12-18 14-21.gif

      @Simon said in Using external Text Editor:

      use code folding quite a lot

      HISE has code folding.

      Libre Wave - Freedom respecting instruments and effects
      My Patreon - HISE tutorials
      YouTube Channel - Public HISE tutorials

      SimonS 1 Reply Last reply Reply Quote 0
      • SimonS
        Simon @d.healey
        last edited by

        @d-healey I actually did not realize HISE had it for loops, would be nice if it appeared without pressing escape and with the same fluidity as in Sublime. The autocomplete in Sublime feels goood, it's instantaneous as you type. I'm not sure if the delay in HISE is intentional, maybe that's something we can tweak.

        In Sublime you can code fold any line based on indentation. I use this quite a lot for folding away control declarations under a comment.

        d.healeyD 1 Reply Last reply Reply Quote 0
        • d.healeyD
          d.healey @Simon
          last edited by d.healey

          @Simon said in Using external Text Editor:

          would be nice if it appeared without pressing escape

          It does. Right click and enable Autoshow Autocomplete (this is enabled by default).

          @Simon said in Using external Text Editor:

          In Sublime you can code fold any line based on indentation. I use this quite a lot for folding away control declarations under a comment.

          When writing KSP I'd use code folding all the time. I pretty much never need it now because HISE scripts are generally so short. It's very rare I have a single script that is more than 500 lines (laf heavy scripts being a notable exception).

          Do you use the code editor bookmarks in HISE? I find those make it really easy to navigate longer scripts.

          Libre Wave - Freedom respecting instruments and effects
          My Patreon - HISE tutorials
          YouTube Channel - Public HISE tutorials

          SimonS 1 Reply Last reply Reply Quote 0
          • D
            dxmachina @Simon
            last edited by dxmachina

            I strongly agree that there should be a little better support for external editors. Similar to @Simon and @oskarsh I have really fought the built in editor when it comes to just getting code written. I seem to gravitate back to the built in when debugging and working in UI.

            The auto-autocomplete is also extremely unreliable for me. It feels like it stops working completely pretty often.

            Honestly, being able to avoid overwrite-on-compile and watching for script changes / auto compile would be enough for me. The regular JS syntax highlighting in Sublime, Atom, VS Code are all much better for me but could easily be community addressed if someone wanted something more robust.

            1 Reply Last reply Reply Quote 2
            • SimonS
              Simon @d.healey
              last edited by

              @d-healey I posted that comment because (in my memory anyway) I typed for and nothing happened, which led me to believe it doesn't appear for "for". The delay in autocomplete makes me much less likely to use it, while I use the instant popup in Sublime all the time.

              How you fold code is of course user preference. I would quite like to be able to fold each control declaration along with its settings, callback assignment, and callback function, so when I'm looking for a control I can get an overview of all of them, and jump straight to the one I need without ctrl + f or the re-contextualization of bookmarks.

              d.healeyD 1 Reply Last reply Reply Quote 0
              • d.healeyD
                d.healey @Simon
                last edited by

                @Simon said in Using external Text Editor:

                I can get an overview of all of them, and jump straight to the one I need without ctrl + f or the re-contextualization of bookmarks.

                Yeah this is what I use bookmarks for, middle click and there's a list of all components.

                Libre Wave - Freedom respecting instruments and effects
                My Patreon - HISE tutorials
                YouTube Channel - Public HISE tutorials

                1 Reply Last reply Reply Quote 0
                • clevername27C
                  clevername27 @oskarsh
                  last edited by clevername27

                  @oskarsh Be aware that there are issues with using an external text editor—namely, that HISE will sometimes overwrite your original file. Usually, this happens when HISE opens the same file in HISE, like if you click on an error report in the Console. But sometimes it just happens. My workaround its to use an external editor that tells me when a file that it has open was overwritten by HISE, and gives me the option to reject HISE's changes, or keep my own. (Though HISE hasn't actually made any changes; it's simply overwritten my last changes in the external editor, though it's more nuanced than that, which is another of saying I'm too lazy to be more specific.) There was a bug about this which was fixed a while back, which improved the situation a lot. But problems remain, so be careful so you don't lose any code. I know @Christoph-Hart has put a lot of work into HISE's built-in editor, and after two years, I'm still finding about cool stuff in it that I wasn't aware of. If do decide to go with an external editor, I can send you my list of HISE Script keywords for your editor. (If you're using BBEdit, I went so far as creating a HISE Script language module.)

                  oskarshO 1 Reply Last reply Reply Quote 0
                  • oskarshO
                    oskarsh @clevername27
                    last edited by

                    @clevername27 Yes I am aware that HISE will overwrite the changes. I am suggesting a button or just a function that we can bind to a shortcut "reload and compile" which basically uses the file on Disc and not from the memory.

                    I believe this should be easy to implement since we already have Load XML which basically does the same, reload all scripts, xml and compile them.
                    If we could only get a shortcut or button for this functionality...

                    I think the HISE editor is great for what it is but it will always lack against other editors which main job is to edit text. I am a big fan of removing dependencies and having a editor which I can style, use plugins (heck even VIM bindings) and have a very reliable and fast editing experience would be my biggest Christmas wish.

                    Many IDE's have moved away from this baked in editor style approach, just less dependencies and maintenance.

                    @Christoph-Hart can you play Santa and look into this? Mainly just a "reload and compile" function that we can bind to a shortcut?

                    HISE Developer for hire :)

                    clevername27C d.healeyD 3 Replies Last reply Reply Quote 1
                    • clevername27C
                      clevername27 @oskarsh
                      last edited by

                      @oskarsh I love your idea.

                      1 Reply Last reply Reply Quote 0
                      • d.healeyD
                        d.healey @oskarsh
                        last edited by

                        @oskarsh said in Using external Text Editor:

                        Mainly just a "reload and compile" function that we can bind to a shortcut?

                        I think a file watcher would be better, no need to hit a button manually. Just save the external file and the changes will be there in HISE.

                        Libre Wave - Freedom respecting instruments and effects
                        My Patreon - HISE tutorials
                        YouTube Channel - Public HISE tutorials

                        clevername27C oskarshO ustkU 3 Replies Last reply Reply Quote 3
                        • clevername27C
                          clevername27 @d.healey
                          last edited by

                          @d-healey I love that idea, too.

                          1 Reply Last reply Reply Quote 0
                          • clevername27C
                            clevername27 @oskarsh
                            last edited by

                            @oskarsh @d-healey My keyword list only the HISE Script keywords—a list of API keywords would be fantastic. How are you handling that when using an external editor?

                            1 Reply Last reply Reply Quote 0
                            • oskarshO
                              oskarsh @d.healey
                              last edited by

                              @d-healey you are right!

                              I am trying to get my Christmas Presents in time tho. Not sure Christoph has the prime delivery for a file watcher :D

                              So a button would do for the beginning. A file watcher would be the better solution but more work to get it right.

                              This one is the industry standard btw:
                              https://facebook.github.io/watchman/

                              HISE Developer for hire :)

                              1 Reply Last reply Reply Quote 1
                              • ustkU
                                ustk @d.healey
                                last edited by

                                For those who might have missed it, a code template has been introduced recently:

                                Link Preview Image
                                HISE | Docs

                                favicon

                                (docs.hise.audio)

                                Link Preview Image
                                New feature: Code templates

                                What's the best way to return to coding after a vacation break? Yes, adding a fun feature that is easy on the brain cells. So here I present to you: Code sni...

                                favicon

                                Forum (forum.hise.audio)

                                Can't help pressing F5 in the forum...

                                d.healeyD ulrikU 2 Replies Last reply Reply Quote 3
                                • d.healeyD
                                  d.healey @ustk
                                  last edited by

                                  @ustk I completely forgot about that already!

                                  Libre Wave - Freedom respecting instruments and effects
                                  My Patreon - HISE tutorials
                                  YouTube Channel - Public HISE tutorials

                                  1 Reply Last reply Reply Quote 1
                                  • ulrikU
                                    ulrik @ustk
                                    last edited by

                                    @ustk thanks for the reminder!

                                    Hise Develop branch
                                    MacOs 15.3.1, Xcode 16.2
                                    http://musikboden.se

                                    1 Reply Last reply Reply Quote 0
                                    • First post
                                      Last post

                                    9

                                    Online

                                    1.7k

                                    Users

                                    11.8k

                                    Topics

                                    102.3k

                                    Posts