BookmarkSubscribeRSS Feed

I think having an extension for visual studio code would be amazing. It would add another avenue for SAS Users to integrate their code into repo like github and gitlab, which in turns allows better versioning control for teams and pipelines.

 

  • Features
    • Highlight incorrect syntax such as ';' missing
    • autocomplete feature for procs and commonly used syntax
    • color coding for specific things like proc and such. 
    • suggestive typing

 

 

This would function similar

 https://blogs.sas.com/content/sasdummy/2017/08/25/npp-with-sas/ but for visual studio code. 

Someone has started (https://marketplace.visualstudio.com/items?itemName=77qingliu.sas-syntax) but it still missing a lot of support and it something that SAS could help with.  

 

 

-Regards

Jake

7 Comments
SASKiwi
PROC Star

We already use Visual Studio with Team Foundation Server add-on with SAS Enterprise Guide. By specifying EG as your SAS program editor in Visual Studio, it becomes your primary interface for code management, versioning and deployment.

anonymous_user
Not applicable

@SASKiwi 

The user is talking about visual studio code, not visual studio. They are two different softwares.

 

The visual studio code is currently the most popular editor among programmers.

Visual studio is a full feature IDE, which is sometimes cumbersome to use in script developement. It does not fit the use scenario for most users.

Visual studio code is light weight, lightning fast. It opens even faster than SAS base.

 

The extension system in VS Code is completely different than Visual Studio, though they kind of share the same brand under Microsoft.

VS Code extension is written in Typescript. There is a thing called language server for VS Code.

 

LSP Languages and Editors

 

 

I've been thinking about developing such a extension that can function like the python extension.

But I figured out it is impossible for a single developer to do this without the SAS Institute's support.

The API for SAS base is closed source. The proc syntax is not well documented nor organized.

I would say this project is only possible if at least the core LSP part, if not all, is done from inside SAS Institute. Any outsider would not have the resource/knowledge to do it.

Peter_L
Quartz | Level 8

As a general solution to this and other problems with editors, could SAS publish the EBNF language definition for all SAS languages, as is routinely done for public standards such as SQL? From that it would be possible to derive highlighting, completion and editing rules for any editor, although there might still be a lot of work, depending on how close the editor syntax definition language is to EBNF.

 

Even SAS's own products do not always recognize its own syntax, so maybe the language(s) is/are not context-free grammars.

AllanBowe
Barite | Level 11

We've built an unofficial extension.  It can run code on all versions of SAS (Foundation, Metadata, Viya), does syntax highlighting and also code linting.

Details:  https://github.com/sasjs/vscode-extension

sbjyil
SAS Employee

SAS just released the official VS Code SAS Extension:  https://marketplace.visualstudio.com/items?itemName=SAS.sas-lsp

Please try it and let us know if you find any issues.    Thank you for your patience!

 

ChrisHemedinger
Community Manager
Status changed to: Suggestion Implemented

This exists now! And receives active development with regular releases. See it on the Marketplace.

Wilbram-SAS
SAS Employee

@ChrisHemedinger , the link to Marketplace contains a type it seems. (%20 at start of the URL?). Let's see if this link to the Official SAS Language Extension for VS Code on Marketplace works.