Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/argmaster/vscode-gerber-format-support
Visual Studio Code support for Gerber X3/X2 file format
https://github.com/argmaster/vscode-gerber-format-support
Last synced: 26 days ago
JSON representation
Visual Studio Code support for Gerber X3/X2 file format
- Host: GitHub
- URL: https://github.com/argmaster/vscode-gerber-format-support
- Owner: Argmaster
- License: mit
- Created: 2023-09-15T18:13:43.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2024-03-13T21:34:51.000Z (8 months ago)
- Last Synced: 2024-03-13T22:41:33.428Z (8 months ago)
- Language: TypeScript
- Homepage:
- Size: 4.35 MB
- Stars: 2
- Watchers: 1
- Forks: 1
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE.md
Awesome Lists containing this project
README
# Gerber X3/X2 Format Support
Gerber X3/X2 Format Support extension brings
[The Gerber Layer Format Specification](https://www.ucamco.com/files/downloads/file_en/456/gerber-layer-format-specification-revision-2023-03_en.pdf)
support to Visual Studio Code.## Installation help
For full installation guide, please refer to
[this documentation](https://github.com/Argmaster/vscode-gerber-format-support/blob/main/INSTALLATION_GUIDE.md).## Features
Opening new file with one of typical Gerber file extensions should allow
`Gerber X3/X2 Format Support` extension to automatically detect the language as
`Gerber`. If language is not detected automatically, You may click in bottom right
corner on `Plain Text` to change language to `Gerber`.![select_language](https://github.com/Argmaster/vscode-gerber-format-support/assets/56170852/cb286a60-dad6-4bce-84cd-0c2e7ec2bd03)
![find_and_select_language](https://github.com/Argmaster/vscode-gerber-format-support/assets/56170852/e7edaa3c-91cf-46c6-8df7-03e5326e979b)
Afterwards all extension features should be available.
### 1. Syntax highlighting
![image](https://github.com/Argmaster/vscode-gerber-format-support/assets/56170852/b8406013-901b-4d47-9b9d-1871e40d11c5)
### 2. Language Server using PyGerber
This extension utilizes PyGerber 2.1.0+ builtin Gerber language server.
> ⚠️ Warning
>
> To use this feature you will need to install Python 3.8+ on your device and Visual
> Studio Python Extension from Microsoft (`ms-python.python`).After starting this extension for the first time you will be presented with popup in
bottom right corner asking if you want to install PyGerber automatically. Currently it
is recommended to use this option, as alternatives are not well polished.![image](https://github.com/Argmaster/vscode-gerber-format-support/assets/56170852/56f40939-de68-4dda-9b9a-281727b52720)
#### 1. Gerber X3 Rev. 2023.03 reference
![hover_hint_d01](https://github.com/Argmaster/vscode-gerber-format-support/assets/56170852/54b4cf45-45ac-4295-8f44-e034b9ae6d9e)
#### 2. Live suggestions (limited functionality)
![image](https://github.com/Argmaster/vscode-gerber-format-support/assets/56170852/f239d97f-aa63-4297-83a9-f3fab467b517)
#### 3. Quick rendering (limited customization)
![image](https://github.com/Argmaster/vscode-gerber-format-support/assets/56170852/64725da7-1e6e-4281-87a8-e4105d6b89f9)
![image](https://github.com/Argmaster/pygerber/assets/56170852/d9243480-ffd4-4d40-8f26-036f0179427a)
![image](https://github.com/Argmaster/pygerber/assets/56170852/d1f27dc6-a057-4c7b-b99a-fe80dfd9860e)
This view now allows zooming with `ctrl` + `scroll` and move with
`hold left mouse button` + `move mouse`. Window must be focused to allow those actions.
To focus render view click inside it.## Issues and bugs
Please report all issues and encountered bugs to
[Issue section on Github](https://github.com/Argmaster/vscode-gerber-format-support/issues).## Future plans
- [ ] full syntax highlighting support, including all Gerber X2 commands.
- [ ] deprecated syntax warnings
- [ ] interactive suggestions
- [ ] integration with [PyGerber](https://github.com/Argmaster/pygerber) for interactive
visualization
- [ ] good practices linting
- [ ] pretty formatting
- [ ] minification
- [ ] ...?