Visual Studio Code Extension for JAL Released to Marketplace

100 views
Skip to first unread message

Sunish Issac

unread,
Apr 13, 2021, 11:03:10 AM4/13/21
to jal...@googlegroups.com, jal...@googlegroups.com
Dear All,

It's been a long time since I wanted to do this extension for JAL to replace Jaledit.

One of the main problems that had to be solved was cross platform compatibility which is now possible through vscode.
With real big jal include files, Jaledit was crawling and there were issues with file association and permission which resulted in crashing of jaledit on editor preferences unless it warun with admin rights

This is not a perfect solution yet as there are many more features to be implemented to have all functionality of jaledit. 

But the following features work very well
  • Syntax Highlighting
  • Fast opening and saving of files irrespective of the size.
  • Linux and Windows support
  • Code folding
  • Auto completion ( More work needs to be done to have functions/procedures included from include files)
  • Code Snippets ( Only very few are added, but not very difficult to add)
  • Compiling to Hex file
  • Ctrl-Click to go to error line ( It doesn't go automatically)
  • Searching/Replacing any word within files and across folder
  • Direct Github Push/Pull/Diff other commands
  • Side by side View and file comparison
  • Theme selection/switching
  • Folder/explorer view

Some of the main features not in the extension
  • Code Explorer for include files,procedures,functions,variables,constants,aliases
  • Opening include files with Ctrl-Enter
  • Auto Backup with time stamp/compilation
  • Backup project as zip file
  • Go to error line after compilation 
  • Running programmer on successful build 
  • Serial Terminal
  • Compile/Program buttons/keys
  • Detecting PIC name from code and passing it as variable to Programmer executable
  • Set file as Active JAL file and compile that irrespective of file you are editing
Requirements & Installation Process: 
  1. Download,install and run Visual studio code from  https://code.visualstudio.com/download
  2. Press Ctrl-Shit-X to invoke the Extensions and search for JAL (or trying to open a JAL file will also prompt to install the extension)
  3. Click Install to add the extension to vscode
  4. Set the path to your jal compiler exe and library file path by clicking the gear icon in extension manager and selecting Extension Settings (It's also possible by going to editor preferences and searching for JAL)
  5. Press Ctrl-Shift-P and Type/select "Tasks:Open User Tasks''.
  6. Select Others (Example to run arbitrary command).
  7. In the opened tasks.json paste the following code
    {
        // prefilled tasks.json for compiling a JAL file
        "version""2.0.0",
        "tasks": [
            {
                "label""Compile JAL File",
                "type""process",
                "command""${config:jal.paths.exePath}",
                "args": [
                    "${file}",
                    "-s",
                    "${config:jal.paths.LibPath}"
                ],
                "presentation": {
                    "reveal""always",
                    "panel""new"
                },
                "problemMatcher": [],
                "group": {
                    "kind""build",
                    "isDefault"true
                }
            }
        ]
    }
  8. Open any JAL file and press Ctrl-Shift-B to build the JAL file and you are ready to rock !

Code of the extension is fully open source and can be pulled/cloned from GitHub - sunishnet/vscode-jal: A VS Code extension for JAL
Visual studio code marketplace link for JAL Jal - Visual Studio Marketplace

________________________________________________________________________________________________________________________________

Off late the activity in our community is very less except for very people like Rob, I guess, most are on Arduino/ESP/ST. 
How many know that Arduino Project was started in JAL  by Massimo who was one of the jallist members.

I'm not sure how many of us are there from the days of Wouters' JAL, but would like to say hi to those lurkers sharing the nostalgia :-) .


Kind regards,

Sunish

Rob CJ

unread,
Apr 14, 2021, 2:22:39 AM4/14/21
to jal...@googlegroups.com, jal...@googlegroups.com
Hi Sunish,

Great work!

I used this and it works very well. It makes the programming life also easier since the Intellisense feature of Visual Studio Code gives you hints while programming so you can quickly select the right procedure, function, variable or constant that you used earlier.

And now JAL also supports Linux  users better 🙂.

Kind regards,

Rob


Van: jal...@googlegroups.com <jal...@googlegroups.com> namens Sunish Issac <sunis...@gmail.com>
Verzonden: dinsdag 13 april 2021 17:02
Aan: jal...@googlegroups.com <jal...@googlegroups.com>; jal...@googlegroups.com <jal...@googlegroups.com>
Onderwerp: [jallist] Visual Studio Code Extension for JAL Released to Marketplace
 
--
You received this message because you are subscribed to the Google Groups "jallist" group.
To unsubscribe from this group and stop receiving emails from it, send an email to jallist+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/jallist/CAFGw2pGUWLmnU0sHXGRPsjbPMUhU2zU5vd_Pc6VYf6LZMM-_Gw%40mail.gmail.com.

Sunish Issac

unread,
Apr 16, 2021, 1:45:30 AM4/16/21
to jal...@googlegroups.com, jal...@googlegroups.com
Thank you Rob and Mario for your feedback. In Yahoo jallist we had around 2000 members, now it's less than 50 I think.

So not many users to try the new extension.

Regards,
Sunish

On Thu, 15 Apr 2021, 1:45 am Mario Cuéllar, <maacue...@gmail.com> wrote:
Thanks! It's great.

You received this message because you are subscribed to the Google Groups "jallib" group.
To unsubscribe from this group and stop receiving emails from it, send an email to jallib+un...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/jallib/AM0PR07MB6241F7B890014D70402C0985E64E9%40AM0PR07MB6241.eurprd07.prod.outlook.com.

--
You received this message because you are subscribed to the Google Groups "jallib" group.
To unsubscribe from this group and stop receiving emails from it, send an email to jallib+un...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/jallib/CAEnUHKaE3mhhSFbwaZQZc2baVwNZR2RK%3D8GczaRPZTWRyCg_aA%40mail.gmail.com.

Hans van Veldhuizen

unread,
Apr 16, 2021, 5:43:58 AM4/16/21
to jallist

Hi sunish,
This looks great and i have reached your point 4 and i see  a loaded file. But now i do not understand how i can make the links (extensions) to my compiler and files. Pleas can give you a lttle more info?
Op vrijdag 16 april 2021 om 07:45:30 UTC+2 schreef sunis...@gmail.com:

Rob CJ

unread,
Apr 16, 2021, 11:49:14 AM4/16/21
to jal...@googlegroups.com
Hi Hans,

I wrote a short document on how to install and configure the JAL extension for Visual Studio Code.

See attachment.

Kind regards,

Rob


Van: jal...@googlegroups.com <jal...@googlegroups.com> namens Hans van Veldhuizen <hanz...@zeelandnet.nl>
Verzonden: vrijdag 16 april 2021 11:43
Aan: jallist <jal...@googlegroups.com>
Onderwerp: Re: [jallib] Re: [jallist] Visual Studio Code Extension for JAL Released to Marketplace
 
How to install the JAL plug v2.pdf

Sunish Issac

unread,
Apr 16, 2021, 1:00:17 PM4/16/21
to jal...@googlegroups.com
Thank you Rob, for providing the instructions, was planning to make a GIF but you already shared with screenshots


Thanks,
Sunish

Hans van Veldhuizen

unread,
Apr 16, 2021, 1:50:32 PM4/16/21
to jallist
Oeps, I have made it now !!!!!! Now i need coffee !!!! Thanks Sunish and Rob. Great
regards
Hans

Op vrijdag 16 april 2021 om 19:00:17 UTC+2 schreef sunis...@gmail.com:

Rob CJ

unread,
Apr 17, 2021, 5:45:22 AM4/17/21
to jal...@googlegroups.com, jal...@googlegroups.com
Hello all,

I added this json.tasks file to GitHub and added a Wiki page for the Visual Studio Code extension.


Kind regards,

Rob


Van: jal...@googlegroups.com <jal...@googlegroups.com> namens vasi vasi <fun...@gmail.com>
Verzonden: vrijdag 16 april 2021 22:05
Aan: jal...@googlegroups.com <jal...@googlegroups.com>
Onderwerp: Re: [jallib] Visual Studio Code Extension for JAL Released to Marketplace
 
Very nice work Sunish, thank you very much. Nowadays, I'm using VSCode for Nucleo STM32 microcontroller projects and also for MSEgui+freepascal and Lazarus+freepascal projects.

On Fri, Apr 16, 2021 at 10:47 PM vasi vasi <fun...@gmail.com> wrote:
Hi Sunish,
Extension not compatible with 1.53,2 version... I will update to a recent one - I avoided this a couple of times but I will do it to test your extension. BTW, there is a FreeBSD port, but it is older... if you can stick with your actual version without updating for a while, might help others...

--
You received this message because you are subscribed to the Google Groups "jallib" group.
To unsubscribe from this group and stop receiving emails from it, send an email to jallib+un...@googlegroups.com.

--
You received this message because you are subscribed to the Google Groups "jallib" group.
To unsubscribe from this group and stop receiving emails from it, send an email to jallib+un...@googlegroups.com.

Sunish Issac

unread,
Apr 17, 2021, 10:13:15 AM4/17/21
to jal...@googlegroups.com, jal...@googlegroups.com
Thanks Rob,

It's helpful and convenient.

BTW the jaldocs folder and programmer path is not currently not relevant as its a future planned feature.

Should I remove it ?

Regards,
Sunish

Vasile Guta Ciucur

unread,
Sep 24, 2022, 4:31:19 PM9/24/22
to jallist
Hi Sunish,

Can you make the extension available also for VSCodium? https://github.com/VSCodium/vscodium

Thank you very much!

Sunish Issac

unread,
Sep 25, 2022, 9:41:26 AM9/25/22
to jal...@googlegroups.com
I'm not sure how to do it, the source code of the extension is available on GitHub.

Regards, 
Sunish

You received this message because you are subscribed to the Google Groups "jallist" group.
To unsubscribe from this group and stop receiving emails from it, send an email to jallist+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/jallist/e3b12f99-7d77-44c6-b001-c886d821f55dn%40googlegroups.com.

vasi vasi

unread,
Sep 25, 2022, 3:19:01 PM9/25/22
to jal...@googlegroups.com
Hi Sunish,
thank you for answering. The thing is, it is indeed interchangeable and I can install it manually from one to another, but the ones in the Microsoft Market are not allowed to be used on other products. So, I cannot say it loud that I use the Jal extension if I use VSCodium (it doesn't have it in it's market). And I also don't know how your extension can be put on but there is a wiki https://github.com/eclipse/openvsx/wiki/Publishing-Extensions#how-to-publish-an-extension

The Open VSX Registry (source?) is owned by The Eclipse Foundation.

Don't bother if it is too troublesome.



--
Vasi

vasi vasi

unread,
Sep 25, 2022, 4:30:25 PM9/25/22
to jal...@googlegroups.com
Then you have this Github action that allows (as far as I understand) you to post on both Visual Studio Market and Open VFX Registry https://github.com/HaaLeo/publish-vscode-extension#readme

FraserSmith51

unread,
May 31, 2023, 11:51:41 AM5/31/23
to jallist
In setting up a new computer I have installed JAL with JALedit and have also loaded Visual Studio Code with Sunish's JAL extension. A year ago I did the same and noticed then that "until" was not highlighted like other keywords. I don't know how I found it last year and I had to scratch my head hard now to remember what I did but in "C:\Users\Fraser\.vscode\extensions\sunish.vscode-jal-2021.4.13\syntaxes" I found "jal.tmLanguage.json": the file that defines what is highlighted in VSC and how it looks. I looked through old posts here to see if I posted anything about it then but it looks like I was remiss and didn't do anything and thought I should do so now - before I forget again!

The (minor) problems are
  • In the keyword.control.jal section "until" has not been included (add "until|" to keep the pattern as |suspend|task|then|until|using|)
  • In the constant.language.jal section "all_in" should be "all input"

There is also a space after "at" in the keyword.control.jal section that I guess should not be there.

I hope that Sunish or someone else can correct this as I don't know how to do so on the file repository.

Cheers and big thanks to Sunish for the improvement that VSC offers over JALedit.

Fraser


Rob CJ

unread,
May 31, 2023, 1:39:38 PM5/31/23
to jal...@googlegroups.com
Hi Fraser,

I fixed the missing until locally, it is just adding it as keyword. I can have a look at the other issue.

But another question. In the current extension also keyword like BROWNOUT, OSC, etc. what you find in the pragma's are also highlighted with a different color but I think this should all be removed since this is PIC specific and new keywords will pop-up that will not be highlighted (or you should constantly update the files of this VS extension.

So I can update the files of Sunish with these keywords but am wondering if I then also should remove the keywords. I made a screenshot of example where one keyword is not in (HFINT32).

My proposal would be to remove this (also the DISABLED, etc) and keep only keyword that are used in JAL.



Let me know what you - and the others - think. As said, my proposal would be not to include these PIC specific keywords, only what is used by JAL.

Thanks.

Kind regards,

Rob


Van: jal...@googlegroups.com <jal...@googlegroups.com> namens FraserSmith51 <fra...@cairntoul.net>
Verzonden: woensdag 31 mei 2023 17:51
Aan: jallist <jal...@googlegroups.com>
Onderwerp: Re: [jallist] Re: [jallib] Visual Studio Code Extension for JAL Released to Marketplace
 

FraserSmith51

unread,
Jun 1, 2023, 1:24:06 PM6/1/23
to jallist
Hi Rob

It would appear that you are using the VS Light Modern colour theme to get the colours that you have shown above. VS Light colour theme gives

VS Light.png

and the Jaledit colour theme gives

jaledit.png

For those that have turned to the dark side VS Dark gives

VS Dark.png

VS Dark Modern gives

VS Dark Modern.png

and finally Jaledit (dark) gives

Jaledit dark.png

From the VS Dark it is obvious that several parts have been given the same colour so not so useful. I quite like the VS Dark Modern and Jaledit dark themes and they seem to have quite a lot of different bits. In constants_jallib.jal, TRUE, FALSE, HIGH, LOW, ON, OFF, ENABLED, DISABLED, INPUT, OUTPUT, ALL_INPUT AND ALL_OUTPUT are all defined in the General Purpose Constants section so I would say that they should not be removed from the list of constants but that all the "Constants related to ADC features and libraries" and the ones that follow in that file and all the ones that are chip specific could be removed.

If anyone would like to play with Sunish's Jaledit light and dark themes or even make their own, I found mine at "C:\Users\Fraser\.vscode\extensions\sunish.vscode-jal-2021.4.13\themes". All the colours are set towards the end of the file as hexadecimal RGB values.

Cheers

Fraser

Rob CJ

unread,
Jun 1, 2023, 1:49:29 PM6/1/23
to jallist
Hi Fraser,

I am using different themes on different computers. My dark them looks like this (with the change).


If you want to chang this, do the following for a Windows installation.
-) Go to (example is from my installation): C:\Users\<your_username>\.vscode\extensions\sunish.vscode-jal-2021.4.13\syntaxes\
-) Make a copy of the file: jal.tmLanguage.json as backup
-) Make changes to the file: jal.tmLanguage.json

Start VS code.

I removed the keyword and did the change of all_input and I attached my jal.tmLanguage.json file to this e-mail.

I can upload this file also to GitHub for other to use.

Kind regards,

Rob


Verzonden: donderdag 1 juni 2023 19:24
jal.tmLanguage.json

Sunish Issac

unread,
Jun 1, 2023, 9:28:57 PM6/1/23
to jal...@googlegroups.com
Hello All,


Any changes can be made as PR and I welcome anyone interested  to join as contributor to take the extension further.

Glad to know its being used, though I use JAL very less these days.

Kind regards,
Sunish  



Rob CJ

unread,
Jun 2, 2023, 12:50:09 PM6/2/23
to jal...@googlegroups.com
Hi Sunish,

I did not know - or forgot - that you had it on GitHub. Would it not be an idea to put it all on a separate repository under Jallib so that we have Jallib, the JAL compiler and the VS code extension all under Jallib?

I think I made 2 modifications for your extension. I changed the syntax file that I e-mailed yesterday and I made a small change to the tasks.json since one of my VS installations complained that it was missing something. I added:    "isBuildCommand": true,

I uploaded this to Jallib GitHub (and want to upload the changed syntax too) but it would be more convenient to have your material also there.

Kind regards,

Rob


Van: jal...@googlegroups.com <jal...@googlegroups.com> namens Sunish Issac <sunis...@gmail.com>
Verzonden: vrijdag 2 juni 2023 03:28
Aan: jal...@googlegroups.com <jal...@googlegroups.com>
VS Code tasks.json

FraserSmith51

unread,
Oct 9, 2023, 6:12:42 PM10/9/23
to jallist
Further to my posts above in this topic above in May and June, I have just found that "otherwise" is also missing from the list of commands under keyword.conntrol.jal. Not being a GitHub user I have no idea of whether I could update the /jal.tmLanguage.json file or how to do so.

Cheers

Fraser

FraserSmith51

unread,
Oct 10, 2023, 3:15:46 AM10/10/23
to jallist
Hi Rob (and any other interested party)

I have attached my updated version that now contains the "otherwise" that was missing.

Cheers

Fraser
jal.tmLanguage.json

Rob CJ

unread,
Oct 10, 2023, 12:44:02 PM10/10/23
to jal...@googlegroups.com
Hi Fraser,

Thanks for the update. Well found.

There was one other keyword missing. The keyword 'of' so I added that too and uploaded it to GitHub.

Attached the updated version.

Kind regards,

Rob


Verzonden: dinsdag 10 oktober 2023 09:15
jal.tmLanguage.json

David VB

unread,
Jan 22, 2024, 1:28:33 PMJan 22
to jallist
Hi,

Just installed VSC and the Jal extension on a Linux Mint PC.   
It appears that "something" has changed since the instructions were written, and I cannot find the way to comple a jal program.    The notion of "Task" now has different kinds and I don't know how to set this up.

Any Linux guru to help ?

Thanks !

Rob CJ

unread,
Jan 22, 2024, 2:32:17 PMJan 22
to jal...@googlegroups.com
Hi David,

It is described in the Jallib_Tutorial_Book. I attached it.

I tried it this weekend and it worked for me. 

Kind regards,

Rob

Van: jal...@googlegroups.com <jal...@googlegroups.com> namens David VB <pinhe...@gmail.com>
Verzonden: maandag 22 januari 2024 19:28
Jallib_Tutorial_Book.pdf

Pinhead

unread,
Jan 22, 2024, 4:09:29 PMJan 22
to jallist
Yes, I followed the tutorial, but with a fresh installation of VSC, at page 142 "Activating the compiler" I've got choices between several types of tasks and I do not find the one that triggers the jal compiler.

All preceding steps, as configuring the tasks.json were done exactly as described....




David VB

unread,
Jan 22, 2024, 4:29:21 PMJan 22
to jallist
Here is the version of VSC and modules (as displayed in the "About" window)

Version: 1.85.1
Commit: 0ee08df0cf4527e40edc9aa28f4b5bd38bbff2b2
Date: 2023-12-13T09:47:11.635Z
Electron: 25.9.7
ElectronBuildId: 25551756
Chromium: 114.0.5735.289
Node.js: 18.15.0
V8: 11.4.183.29-electron.0
OS: Linux x64 5.15.0-91-generic

Here is a screenshot with the settings of the jal extension:
 Screenshot from 2024-01-22 22-16-17.png

And the result of a "Ctrl-Shift-B" on a jal file in the terminal window:
Screenshot from 2024-01-22 22-23-43.png

Apparently, running the compiler "jalv2_64.exe" causes the problem.    
Is it because I am trying to execute a windows program on a Linux Mint machine ?

The path to the compiler contains spaces and "=" signs.   Is this a problem ?   If so, is there a way to make it work ?   (Since that floder structure is the same as on my Windows machine and on my network shared drive, and there are a lot of links and dependencies with those folders, I would like to keep it that way)

Sunish Issac

unread,
Jan 22, 2024, 8:02:04 PMJan 22
to jal...@googlegroups.com
Hi David,

As you mentioned, its because you are trying to run the window version of jal compiler in VSC meant for Linux.

You should probably link to the Linux binary.

Regards,
Sunish

Pinhead

unread,
Jan 23, 2024, 2:44:18 AMJan 23
to jallist
Thanks Sunish,

I will try this later this afternoon

Have a nice day

D

Rob CJ

unread,
Jan 23, 2024, 2:58:26 AMJan 23
to jal...@googlegroups.com
Hi David,

In the Tutorial I show 2 examples of the settings, one for Windows and one for Linux.

Met vriendelijke groet,
Rob Jansen

From: jal...@googlegroups.com <jal...@googlegroups.com> on behalf of Pinhead <pinhe...@gmail.com>
Sent: Tuesday, January 23, 2024 8:44:13 AM
To: jallist <jal...@googlegroups.com>
Subject: Re: [jallist] Re: [jallib] Visual Studio Code Extension for JAL Released to Marketplace
 

David VB

unread,
Jan 23, 2024, 1:24:35 PMJan 23
to jallist
Hi Rob,


If so, I see only an example for Windows.... What am I missing ?

David VB

unread,
Jan 23, 2024, 1:30:13 PMJan 23
to jallist
OK FOUND IT !!!!

Sorry for the annoyance.    I finally just changed the configuration of the path to the Linux compiler in the extension, and it works now.

Thank you all for your help !
Reply all
Reply to author
Forward
0 new messages