cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Check out the JMP® Marketplace featured Capability Explorer add-in
Choose Language Hide Translation Bar
vince_faller
Super User (Alumni)

JSL Extension for VSCode

Hello JMP people, 

I made an extension for VSCode to edit JSL more easily.  I thought that was easier than building a bunch of JMP addins for the things I want that other editors have.  It's available here .  or you can just Search "JMP" in the extensions marketplace in vscode.  

 

*Edit*: It's cool that people are starting to use this <3.  
If anyone is having issues with it, please feel free to put in an issue in the repo

https://gitlab.com/predictum/jsl-for-vscode/-/issues/new?issue%5Bassignee_id%5D=&issue%5Bmilestone_i...


Currently it's got 

  • Syntax highlighting (Thanks @Justin_Chilton )
  • Hover help
    • Hover.gif
  • Auto-Completion Snippets (with Natural Docs Commenting)
    • snippets.gif
  • Function/Class Outline and navigation
    • symbols.png
  • The hacky ability to Run JMP from VSCode (through a JMP addin you have to install and have running in the background)
    • RunningJSL.gif

 

I'd been using Notepad++ for the longest time but this having full a bunch of other extensions made me finally change.  

 

 

Vince Faller - Predictum
1 ACCEPTED SOLUTION

Accepted Solutions
pmroz
Super User

Re: JSL Extension for VSCode

3 REPLIES 3
pmroz
Super User

Re: JSL Extension for VSCode

Very cool Vince!

vince_faller
Super User (Alumni)

Re: JSL Extension for VSCode

This has been updated. If people are interested.  

 

Changes:

* Relative pathing should work with includes (if the file exists)
* fixed some annoying snippet issues
* fixed some hovertext functions with spaces
Vince Faller - Predictum
vince_faller
Super User (Alumni)

Re: JSL Extension for VSCode

For those using this, We changed the way that the running JMP works.  It honestly works a lot better now.  But we also changed the keyboard shortcut to match other vscode language extensions.  

 

now it's Alt+Enter to run a line 

Shift+Enter to run selection (whole file if nothing is selected)

 

The first time any of these commands runs, JMP will open and will start running a server that executes any JSL that is sent to it. If JMP is already open, the open instance will be used to run this server. A button is available in JMP to stop the server from running at any time.

Running any JSL for the first time will also update the hover text for functions with any New Custom Functions that are in the scripting index.

Note: If the extension can't find your JMP installation or if you want to specify a different version of JMP, you must specify the jsl.JMPlocation setting. You can use the command palette (Ctrl/Cmd+Shift+P) to search for Open Settings (UI) and then search for jsl to see the available settings. The path provided should be similar to the examples in the table below

Vince Faller - Predictum