Friday 2 February 2018

Text Editors for Qlik Developers

As you will no doubt have seen, I've recently been making some updates to the various Qlik syntax highlighting tools, plugins and extensions I've produced. These updates are long overdue and have added support for some of the changes and additions to QlikView and Qlik Sense over the last couple of years. Support for Direct Query statements, Qlik Sense connection strings and a small number of missing keywords are most notable.

Whilst making the updates I noticed that the language definition for UltraEdit hasn't been download anywhere near as many times as the others. It was originally produced at the request of a customer who used UltraEdit and so I never really knew how popular it was these days. This got me wondering what text editors people were using to edit Qlik script files. So curiosity get the better of me and I tweeted a quick poll to find out what people's preferences were. After 24 hours the results were in and the tweets I received were read. A huge thanks to everyone who responded!


Some of the results were of no surprise to me at all. UltraEdit didn't receive a single vote or mention and so although I won't be completely abandoning it, it certainly isn't going to be near the top of my "to do list" from now on.

Another unsurprising result was that Notepad++ was far ahead of any other with 84% of the votes. My Notepad++ language definition is by far the most downloaded of any I've produced with well over 10,000 downloads since I moved the code to GitHub alone.

What did surprise me was that two editors I thought might be popular, Atom and Brackets, didn't receive a single vote or mention. It seems these relatively new tools might be popular with web developers but haven't caught on with Qlik devs yet.

The most suggested tool for a new syntax highlighting was Microsoft's Visual Studio code. Having taken a look, there is already an extension available which, although not perfect, is a great start. The extension can be found in the Visual Studio Marketplace and was produced by Xavier Hahn. I've reached out to Xavier and hopefully we'll be collaborate to improve this extension rather than starting from scratch myself. Watch this space for updates!!!

Other notable mentions were OxygenXML and Sublime Text. As the name suggests, the former was originally intended for working with XML files. I've done some quick digging and I didn't find anything about defining new languages for it. So I'll have to keep looking (get in touch if you know how or can point me to some info). Sublime Text is a great editor, but where as most of the others mentioned here are free, Sublime costs USD$80. Because of this, I had initially written off the idea thinking the potential user base might be limited like UltraEdit. However, I've since realised that Sublime, Visual Studio Code and Atom all use the same standard for defining a language (TextMate Languages). And so if we manage to get the VS Code extension working well, the others might be very simple to add also.

If you have any suggestions for other text editors, spot any problems with the existing Qlik syntax highlighting tools or wish to collaborate on one of them, leave me a comment below or drop me a message on twitter.

4 comments:

  1. Sorry I wasn’t able to take the survey, but I use Atom 100%. It is good for cross platform development and already has a respectable QVS Package (plug-in). I used your Notepad++ plug-in for a long time, until I switched to Atom. Given the movement to true development (Mashups, API, etc...) I believe more and more folks will want support in VS and Atom. Thanks for the great work, it helps a lot.

    ReplyDelete
    Replies
    1. Hi Steve
      Thanks for your input. I'll take a look at the existing plugin for Atom. As I said in the post, Atom and VSCode share a common way of defining a new language and so if we manage to improve the VSCode one, it should be simple to merge it with the existing Atom plugin if the creator is willing.

      Regards
      Matt

      Delete
  2. My vote goes to VSCode, for sure. Tried them all, coming back to VSCode again and again..

    BR, Göran

    ReplyDelete
    Replies
    1. Hi Göran
      Thanks for the input. I've just made a commit to the existing VSCode extension that should bring a whole load of improvements including all join and keeps statements, load distinct, info and bundle info loads, noconcatenate, direct query statements, logic statements (sub routines, switch statements, for and do loops), REM comments, call statements, end script statements and a large number of functions.

      It's still less than perfect but it's a good start. Finger crossed it makes it to the VS marketplace soon!

      Regards
      Matt

      Delete