{"id":32123742,"url":"https://github.com/sasjs/vscode-extension","last_synced_at":"2025-10-20T21:11:35.685Z","repository":{"id":37461234,"uuid":"337330625","full_name":"sasjs/vscode-extension","owner":"sasjs","description":"SAS Linting, Syntax Highlighting, and Code Execution from VS Code","archived":false,"fork":false,"pushed_at":"2025-08-08T11:20:06.000Z","size":10044,"stargazers_count":24,"open_issues_count":4,"forks_count":4,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-09-18T13:27:21.421Z","etag":null,"topics":["sas","sasjs","viya","vscode-extension"],"latest_commit_sha":null,"homepage":"https://open-vsx.org/extension/sasjs/sasjs-for-vscode","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sasjs.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":".github/CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"github":["sasjs"]}},"created_at":"2021-02-09T07:52:39.000Z","updated_at":"2025-08-08T11:18:47.000Z","dependencies_parsed_at":"2025-01-29T19:27:29.453Z","dependency_job_id":"a6fb3263-b3bd-45b7-a7a1-fdfc81f4a542","html_url":"https://github.com/sasjs/vscode-extension","commit_stats":null,"previous_names":[],"tags_count":100,"template":false,"template_full_name":null,"purl":"pkg:github/sasjs/vscode-extension","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sasjs%2Fvscode-extension","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sasjs%2Fvscode-extension/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sasjs%2Fvscode-extension/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sasjs%2Fvscode-extension/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sasjs","download_url":"https://codeload.github.com/sasjs/vscode-extension/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sasjs%2Fvscode-extension/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":280160028,"owners_count":26282707,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-20T02:00:06.978Z","response_time":62,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["sas","sasjs","viya","vscode-extension"],"created_at":"2025-10-20T21:11:33.499Z","updated_at":"2025-10-20T21:11:35.677Z","avatar_url":"https://github.com/sasjs.png","language":"TypeScript","funding_links":["https://github.com/sponsors/sasjs"],"categories":[],"sub_categories":[],"readme":"# Visual Studio Code Extension for SASjs\n\u003c!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section --\u003e\n[![All Contributors](https://img.shields.io/badge/all_contributors-8-orange.svg?style=flat-square)](#contributors-)\n\u003c!-- ALL-CONTRIBUTORS-BADGE:END --\u003e\n\nThe SASjs VS Code extension is **only available on Open VSX**:  https://open-vsx.org/extension/sasjs/sasjs-for-vscode\n\nIf you have questions or would like support, visit [https://matrix.to/#/#sasjs:4gl.io](https://matrix.to/#/#sasjs:4gl.io).\n\n## Features\n\n* [Code Documentation](#code-documentation)\n* [Code Execution](#code-execution)\n* [Directory Synchronisation](#directory-synchronisation)\n* [SAS Lint and Format](#sas-lint-and-format)\n* [Compile, Build and Deploy](#compile-build-deploy)\n* [Snippets for Base \u0026 SASjs Core](#snippets)\n\n## Code Documentation\n\nGenerate HTML docs from your SAS code! Requires a local installation of [Doxygen](https://www.doxygen.nl/download.html). Video overview available [here](https://vid.4gl.io/w/7cbbpZwU9U2DNBnC5SHb7n).\n\nConfiguration is identical to the SASjs CLI, documented at [https://cli.sasjs.io/doc](https://cli.sasjs.io/doc), driven by the [docConfig](https://cli.sasjs.io/sasjsconfig.html#docConfig) object.\n\nGiven that projects may be new to SASjs (without a `sasjs/sasjsconfig.json` file) the following workflow takes place:\n\n1. If workspace contains a `sasjs/sasjsconfig.json` file, go to Step 3\n2. If any parent directories contain a `sasjs/sasjsconfig.json` file, use this target, and go to Step 4.\n3. Create a workspace-level `sasjs/sasjsconfig.json` file (and doxy files), and use this as the target.\n4. Generate docs using target [`docConfig.outDirectory`](https://cli.sasjs.io/sasjsconfig.html#docConfig_outDirectory) property (`sasjsbuild/docs` by default)\n5. Put `index.html` in focus\n\nTo view the `index.html` as a web page, open in Firefox, or right click and view with the [Live Server](https://marketplace.visualstudio.com/items?itemName=ritwickdey.LiveServer) extension (if installed).\n\n\n## Code Execution\n\nYou can run code on SAS Viya, SAS 9 EBI or [SASjs Server](https://server.sasjs.io)!  Just set up the target, and click the running man to execute your SAS code.\n\n![snippet](https://user-images.githubusercontent.com/4420615/111214809-aacb2b00-85d2-11eb-95ab-8832c9d13afb.gif)\n\nYou can also highlight a section of code and run that. Each log returned will be stored in a `sasjsresults` folder.  You can also run the `SASjs: Execute Code` command from the command palette(`Cmd+Shift+P`).\n\nThe target 🎯 describes the server on which you intend to run the code.  The attributes are added to a file in your home directory - `~/.sasjsrc`. More info [here](https://cli.sasjs.io/faq/#what-is-the-difference-between-local-and-global-targets)).\n\nThe following attributes are needed for all server types:\n\n - Name.  An alias to represent the target.\n - Server Url.  The full URL (including port if needed) of your SAS server.\n - Server Type.  Can be SASVIYA, SAS9 or SASJS.\n\nBelow are the setup steps specific to each server type\n\n#### SAS Viya\n\nEnter the [following prompts](https://youtu.be/lNWS2lCRX4I):\n\n - CLIENT / SECRET.  Relevant for SASVIYA - you will need to ask your administrator for these, and they should have the `authorization_code` grant type.  More info [here](https://cli.sasjs.io/faq/#how-can-i-obtain-a-viya-client-and-secret).\n - Follow the link to obtain your authorisation code\n\n#### SAS9 EBI\n\nFor a SAS9 server type, you need to provide your user and passsword in the prompts.  Before you can execute code, you will need a runner (an STP in your metadata home directory) - just follow the instructions here:  https://cli.sasjs.io/auth/#sasjs-runner\n\n\nhttps://user-images.githubusercontent.com/4420615/174494256-8676a5e3-9dd2-45a7-bc67-2a5c2355c182.mp4\n\nIf you are using self-signed certificates and are unable to connect due to `Error while handling error. Unable to verify the first certificate` - but you ARE able to connect using the [sasjs cli](https://cli.sasjs.io) - then you may need to make the following adjustments:\n\n1. Set `\"http.proxySupport\": \"fallback\"` in VS Code settings (instead of the default `\"override\"`)\n2. Set `\"rejectUnauthorized\": false` in the [httpsAgentOptions](https://cli.sasjs.io/sasjsconfig.html#httpsAgentOptions_rejectUnauthorized) object in the sasjsconfig file (`sasjs/sasjsconfig.json` or `~/.sasjsrc`)\n\n\n#### SASjs Server\n\nIn order to run on Foundation / Base / Desktop SAS you will need a running version of SASjs server (on the same machine where SAS is installed).  You can download SASjs server [here](https://github.com/sasjs/server/releases).  Configuration instructions are [here](https://server.sasjs.io/installation/).\n\nFor local desktop instances of SASjs Server, the serverUrl is likely to be http://localhost:5000\n\nIf you are running SASjs Server in server mode, then you will need a client id - the default is `clientID1`\n\n## Directory Synchronisation\n\nSometimes when working with SAS, you would like to supply some physical content (eg macros, format definitions, Excel, images, etc) to the remote SAS server.\n\nThe [`syncDirectories`](https://cli.sasjs.io/sasjsconfig.html#syncDirectories) feature lets you map one or more LOCAL (on your laptop) directories with one or more REMOTE (on the SAS server) directories.\n\nIt works by hashing the remote files, comparing the hashes with the local files, and deploying only the changed files.  No SSH access needed, all files are deployed using 100% SAS Code.\n\nMore information is in the [cli docs](https://cli.sasjs.io/fs) and this [explanatory video](https://vid.4gl.io/w/jKf6T8FxRTAdqQXWxUt36u).\n\nTo configure, just add the `syncDirectories` [object](https://cli.sasjs.io/sasjsconfig.html#syncDirectories) to your local `sasjs/sasjsconfig.json` file.  If this file does not exist, just click the Documentation icon to create one.\n\n\n## SAS Lint and Format\nSpend less time on code reviews and more time pushing code! Select VIEW-\u003ePROBLEMS (or ctrl+shift+M) to examine the currently opened SAS program for issues.\n\n![image](https://user-images.githubusercontent.com/4420615/113478713-800e1d00-9482-11eb-90c1-10a80a41be1a.png)\n\n### Rules\n\nRules can be configured by creating a `.sasjslint` file in the root of your project as follows:\n\n```json\n{\n    \"defaultHeader\": \"/**{lineEnding}  some custom header{lineEnding}**/\",\n    \"noEncodedPasswords\": true,\n    \"hasDoxygenHeader\": true,\n    \"hasMacroNameInMend\": true,\n    \"hasMacroParentheses\": true,\n    \"ignoreList\": [\n      \"sajsbuild/\",\n      \"sasjsresults/\"\n    ],\n    \"indentationMultiple\": 2,\n    \"lowerCaseFileNames\": true,\n    \"maxLineLength\": 80,\n    \"noNestedMacros\": true,\n    \"noSpacesInFileNames\": true,\n    \"noTabs\": true,\n    \"noTrailingSpaces\": true\n}\n```\n\nSettings in the project (workspace) root (`.sasjslint`) take the highest precedence, followed by the following locations:\n\n* VS Code (extension) settings (`sasjs-for-vscode.lintConfig`)\n* User Home directory (`~/.sasjslint`)\n* Default settings (see https://github.com/sasjs/lint#sas-lint-settings)\n\n### Formatting\n\nSASjs lint can automatically fix certain problems within SAS files, such as trailing spaces, missing Doxygen header blocks and missing macro names in `%mend` statements.\nYou can use this feature in two ways:\n\n1. On demand - by selecting 'Format Document' either from the right click menu or from the command palette.\n![format](https://user-images.githubusercontent.com/2980428/117260252-c9b5a300-ae46-11eb-9e7e-f70b9166fbbe.gif)\n\n2. By enabling automatic formatting of files on save/paste from the Settings menu.\n![image](https://user-images.githubusercontent.com/2980428/117259572-15b41800-ae46-11eb-9c7f-b9700b77405b.png)\n\n## Compile, Build and Deploy\n\n### Single File\n\nIf a `*.sas` file is selected and a `Compile, Build, Deploy` icon is clicked, then a single file will be compiled, built and deployed. Compiled and built files will be located in `sasjsbuild` folder at the root of the project. If an error appeared during the process, `log` file should be created in `sasjsresults` folder.\n![image](./assets/screenshots/cbd-single-file.png)\n\n### Project\n\nif a `sasjsconfig.json` file is selected and a `Compile, Build, Deploy` icon is clicked, then an entire project will be compiled, built and deployed. Compiled and built files will be located in `sasjsbuild` folder at the root of the project. If an error appeared during the process, `log` file should be created in `sasjsresults` folder.\n![image](./assets/screenshots/cbd-project.png)\n\n\n## Snippets\n\nSnippets (code-completion) are provided both for Base SAS (using the [official SAS VS Code Extension](https://github.com/sassoftware/vscode-sas-extension) files) and [SASjs Core](https://core.sasjs.io) (using the [snippets generator](https://cli.sasjs.io/snippets) of the SASjs CLI). To use snippets, just start typing SAS macro name, eg:\n\n![image](./assets/screenshots/vscode-snippets.png)\n\nNOTE: If you don't see a snippet description, you might need to click the `Read More` icon, and snippet description will appear for all snippets, eg:\n\n![image](./assets/screenshots/vscode-snippets-read-more.png)\n\n## Contributions\n\nSASjs is an open source project, and contributions are warmly welcomed!\n\n## Contributors ✨\n\nThanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):\n\n\u003c!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section --\u003e\n\u003c!-- prettier-ignore-start --\u003e\n\u003c!-- markdownlint-disable --\u003e\n\u003ctable\u003e\n  \u003ctbody\u003e\n    \u003ctr\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/allanbowe\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/4420615?v=4?s=100\" width=\"100px;\" alt=\"Allan Bowe\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eAllan Bowe\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/sasjs/vscode-extension/commits?author=allanbowe\" title=\"Code\"\u003e💻\u003c/a\u003e \u003ca href=\"https://github.com/sasjs/vscode-extension/commits?author=allanbowe\" title=\"Tests\"\u003e⚠️\u003c/a\u003e \u003ca href=\"https://github.com/sasjs/vscode-extension/pulls?q=is%3Apr+reviewed-by%3Aallanbowe\" title=\"Reviewed Pull Requests\"\u003e👀\u003c/a\u003e \u003ca href=\"#video-allanbowe\" title=\"Videos\"\u003e📹\u003c/a\u003e \u003ca href=\"https://github.com/sasjs/vscode-extension/commits?author=allanbowe\" title=\"Documentation\"\u003e📖\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://www.erudicat.com/\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/25773492?v=4?s=100\" width=\"100px;\" alt=\"Yury Shkoda\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eYury Shkoda\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/sasjs/vscode-extension/commits?author=YuryShkoda\" title=\"Code\"\u003e💻\u003c/a\u003e \u003ca href=\"https://github.com/sasjs/vscode-extension/commits?author=YuryShkoda\" title=\"Tests\"\u003e⚠️\u003c/a\u003e \u003ca href=\"#projectManagement-YuryShkoda\" title=\"Project Management\"\u003e📆\u003c/a\u003e \u003ca href=\"#video-YuryShkoda\" title=\"Videos\"\u003e📹\u003c/a\u003e \u003ca href=\"https://github.com/sasjs/vscode-extension/commits?author=YuryShkoda\" title=\"Documentation\"\u003e📖\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://krishna-acondy.io/\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/2980428?v=4?s=100\" width=\"100px;\" alt=\"Krishna Acondy\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eKrishna Acondy\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/sasjs/vscode-extension/commits?author=krishna-acondy\" title=\"Code\"\u003e💻\u003c/a\u003e \u003ca href=\"https://github.com/sasjs/vscode-extension/commits?author=krishna-acondy\" title=\"Tests\"\u003e⚠️\u003c/a\u003e \u003ca href=\"https://github.com/sasjs/vscode-extension/pulls?q=is%3Apr+reviewed-by%3Akrishna-acondy\" title=\"Reviewed Pull Requests\"\u003e👀\u003c/a\u003e \u003ca href=\"#infra-krishna-acondy\" title=\"Infrastructure (Hosting, Build-Tools, etc)\"\u003e🚇\u003c/a\u003e \u003ca href=\"#platform-krishna-acondy\" title=\"Packaging/porting to new platform\"\u003e📦\u003c/a\u003e \u003ca href=\"#maintenance-krishna-acondy\" title=\"Maintenance\"\u003e🚧\u003c/a\u003e \u003ca href=\"#content-krishna-acondy\" title=\"Content\"\u003e🖋\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/saadjutt01\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/8914650?v=4?s=100\" width=\"100px;\" alt=\"Muhammad Saad \"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eMuhammad Saad \u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/sasjs/vscode-extension/commits?author=saadjutt01\" title=\"Code\"\u003e💻\u003c/a\u003e \u003ca href=\"https://github.com/sasjs/vscode-extension/commits?author=saadjutt01\" title=\"Tests\"\u003e⚠️\u003c/a\u003e \u003ca href=\"https://github.com/sasjs/vscode-extension/pulls?q=is%3Apr+reviewed-by%3Asaadjutt01\" title=\"Reviewed Pull Requests\"\u003e👀\u003c/a\u003e \u003ca href=\"#mentoring-saadjutt01\" title=\"Mentoring\"\u003e🧑‍🏫\u003c/a\u003e \u003ca href=\"https://github.com/sasjs/vscode-extension/commits?author=saadjutt01\" title=\"Documentation\"\u003e📖\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/sabhas\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/82647447?v=4?s=100\" width=\"100px;\" alt=\"Sabir Hassan\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eSabir Hassan\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/sasjs/vscode-extension/commits?author=sabhas\" title=\"Code\"\u003e💻\u003c/a\u003e \u003ca href=\"https://github.com/sasjs/vscode-extension/commits?author=sabhas\" title=\"Tests\"\u003e⚠️\u003c/a\u003e \u003ca href=\"https://github.com/sasjs/vscode-extension/pulls?q=is%3Apr+reviewed-by%3Asabhas\" title=\"Reviewed Pull Requests\"\u003e👀\u003c/a\u003e \u003ca href=\"#ideas-sabhas\" title=\"Ideas, Planning, \u0026 Feedback\"\u003e🤔\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/medjedovicm\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/18329105?v=4?s=100\" width=\"100px;\" alt=\"Mihajlo Medjedovic\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eMihajlo Medjedovic\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/sasjs/vscode-extension/commits?author=medjedovicm\" title=\"Code\"\u003e💻\u003c/a\u003e \u003ca href=\"https://github.com/sasjs/vscode-extension/commits?author=medjedovicm\" title=\"Tests\"\u003e⚠️\u003c/a\u003e \u003ca href=\"https://github.com/sasjs/vscode-extension/pulls?q=is%3Apr+reviewed-by%3Amedjedovicm\" title=\"Reviewed Pull Requests\"\u003e👀\u003c/a\u003e \u003ca href=\"#infra-medjedovicm\" title=\"Infrastructure (Hosting, Build-Tools, etc)\"\u003e🚇\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/VladislavParhomchik\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/83717836?v=4?s=100\" width=\"100px;\" alt=\"Vladislav Parhomchik\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eVladislav Parhomchik\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/sasjs/vscode-extension/commits?author=VladislavParhomchik\" title=\"Tests\"\u003e⚠️\u003c/a\u003e \u003ca href=\"https://github.com/sasjs/vscode-extension/pulls?q=is%3Apr+reviewed-by%3AVladislavParhomchik\" title=\"Reviewed Pull Requests\"\u003e👀\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://www.linkedin.com/mwlite/in/sam-svetlichnyy-77b9971a6\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/64905854?v=4?s=100\" width=\"100px;\" alt=\"SamSvet\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eSamSvet\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/sasjs/vscode-extension/commits?author=SamSvet\" title=\"Documentation\"\u003e📖\u003c/a\u003e \u003ca href=\"#userTesting-SamSvet\" title=\"User Testing\"\u003e📓\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n  \u003c/tbody\u003e\n\u003c/table\u003e\n\n\u003c!-- markdownlint-restore --\u003e\n\u003c!-- prettier-ignore-end --\u003e\n\n\u003c!-- ALL-CONTRIBUTORS-LIST:END --\u003e\n\nThis project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsasjs%2Fvscode-extension","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsasjs%2Fvscode-extension","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsasjs%2Fvscode-extension/lists"}