https://github.com/hangxingliu/vscode-systemd
A Visual Studio Code extension that helps you read and write Systemd unit files
https://github.com/hangxingliu/vscode-systemd
linux systemd visual-studio-code
Last synced: 11 months ago
JSON representation
A Visual Studio Code extension that helps you read and write Systemd unit files
- Host: GitHub
- URL: https://github.com/hangxingliu/vscode-systemd
- Owner: hangxingliu
- License: mit
- Created: 2021-12-10T17:01:19.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2024-05-05T02:58:03.000Z (almost 2 years ago)
- Last Synced: 2024-05-05T03:27:41.381Z (almost 2 years ago)
- Topics: linux, systemd, visual-studio-code
- Language: TypeScript
- Homepage: https://marketplace.visualstudio.com/items?itemName=hangxingliu.vscode-systemd-support
- Size: 1.63 MB
- Stars: 31
- Watchers: 4
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: docs/CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
# Systemd Configurations Helper for Visual Studio Code
[](https://github.com/hangxingliu/vscode-systemd/actions/workflows/ci.yaml)
A Visual Studio Code extension to help you read and write *Systemd unit config*, *mkosi config* and *Podman Quadlet unit files*.

## Features
- Syntax highlighting, auto-completion, folding range and linter for the following files
- Various systemd unit files (configuration files)
- [mkosi](https://github.com/systemd/mkosi) configuration files
- [Podman Quadlet](https://github.com/containers/podman) unit files
- Document and help information for directives and specifiers in the editor
## Installation
1. Click `Extension` button in left side of VSCode. (Shortcut: Ctrl+Shift+X or Command+Shift+X)
2. Search for `hangxingliu.vscode-systemd-support` and click the `Install` button.
### via Command Line
You can replace the `code` command to `codium` in following scripts if you are using [VSCodium](https://vscodium.com/)
``` bash
code --install-extension hangxingliu.vscode-systemd-support
# Or install from a downloaded VSIX file:
code --install-extension vscode-systemd-support-${version}.vsix
```
### Nightly Builds
Nightly builds can be found and downloaded in Github Actions page
(Click any successful workflow run and the extension file is located in the **Artifacts** pane):

## Changelog
### 3.0.0 (2025-01-08)
- Update the support to Systemd v257 and Podman Quadlet v5.3.1
- Add support for mkosi config files
- Add folding range feature
- sections, multi-line comment, multi-line value and `#region` comments
- Add more auto-completion for directive(setting) value.
- Add auto-completion support for directives that accept boolean or auto as values
- Update file path detection for Podman `.network` file ([@marshallwp](https://github.com/marshallwp))
- Refactor the parser for fixing issues and more editor features
- Refactor some part of fetch scripts for comparing changes and generating diagnosis log
## Build & Contributing
Please check out the document [CONTRIBUTING.md](docs/CONTRIBUTING.md) for information
about building/contributing this project
## License
[MIT](LICENSE)
## References
- [Systemd](https://github.com/systemd/systemd)
- [Podman](https://github.com/containers/podman)
- [mkosi](https://github.com/systemd/mkosi)
- [TextMate Language Grammars](https://macromates.com/manual/en/language_grammars)
- [Systemd Syntax](https://www.freedesktop.org/software/systemd/man/systemd.syntax.html#)
- [Icon resources](https://github.com/edent/SuperTinyIcons)
- [bearmini's systemd extension](https://github.com/bearmini/vscode-systemd-unit-file)
- I created this extension to improve bearmini's systemd extension. It only provides syntax highlights.