vscode-epics, EYE (Enlight Your Epics)
This VS Code extension provides syntax highlighting for EPICS database, template, substitutions and startup files, and streamdevice prototype files.
- 1. Features
- 2. Requirements
- 3. get all the fields of the EPICS database
- 4. useful links
- 5. create a new extension version
- 7. create a gif for the documentation
- 8. Extension Settings
- 9. Known Issues
- 10. Credits
- 11. to do
- Syntax highlighting for:
- database and template files (.db, .dbd and .template)
- substitutions files (.substitutions, .sub, and .subs)
- startup files (.cmd and .iocsh)
- streamdevice prototype files (.proto)
- SNL files (.st extensions are considered as .c extension and some keywords are highlighted)
- Snippets for:
- database and template files (.db and .template)
- substitutions files (.substitutions, .sub, and .subs)
- startup files (.cmd and .iocsh)
- C source code
- streamdevice prototype files (.proto)
- SNL files (over charge of your .c extension)
- we-test (scenario and suite)
Tips: to see all the available snippets per file type, write "epics." and a list will show up (file has to have a known extension). |
---|
-
Compilation facilities
-
Linter for:
- database and template files
- substitutions files
- startup files
- streamdevice prototype files
- SNL files
VS Code 1.5 or newer version.
- ".db": to select .dbd and .dbd.pod files
- commun:
$ cat <path_to_epics-base>/src/ioc/db/*.db* | grep 'field(' | tr "(," " " | awk '{print $2}' | tr "\n" "|" | sed 's/.$//'
- specific:
$ cat <path_to_epics-base>/src/std/rec/*.db* | grep 'field(' | tr "(," " " | awk '{print $2}' | tr "\n" "|" | sed 's/.$//'
- extension code source
- Extension on the vscode marketplace
- create, run and debug an extension. Everithing is explained in vsc-extension-quickstart.md
- snippets and highlight information
- F1
- Developer Inspect TM Scopes
- commit changes and close corresponding github issues
- report in downloadTracking.ods the number of download with the date and the version
- update
CHANGELOG.md
- check
README.md
- check version in
package.json
- create a package with vse:
$ vsce package # generate vsix file
- create the git tag:
git tag -a x.x.x -m "..."
- push to server
git push origin --tags
- on github, create a new release
- publish the extension on the vscode marketplace (rights are limited to @nsd and @vnadot) 1. manually 2. via CLI. I didn't manage to make it work yet, issue with the token "requires an Personal Access Token").
- post a message on the EPICS [techtalk)[https://epics.anl.gov/tech-talk/2020/msg01930.php]. You can do that by answering by email.
None yet!
See gitlab issues.
- Snippets are mainly coming from language-epics Atom plugin, agaget and vnadot.
- get all the fields of the EPICS database trick is coming from atzvetkov
- thanks to the contributors:
- Ivo Hanak from Institute of Plasma Physics (IPP CAS)
- Jeong Han Lee from the European Spallation Source ERIC (ESS)
- Jeremy L. from Stanford Linear Accelerator Center (SLAC)
- TimGuiteDiamond from the Diamond Light Source (DLS)