The Yeti VSCode Extension enhances your development experience with the Yeti database markup language (YDML) by providing features such as syntax highlighting and formatting. Designed to streamline database schema design, this extension will evolve to offer even more features to supercharge your productivity.
Features
Current Features
Syntax Highlighting: Easily distinguish keywords, entities, attributes, and comments with vivid color coding.
Code Formatting: Automatically format your Yeti schemas for better readability and consistency.
Planned Features
Code Generators:
Database-specific schemas: PostgreSQL, SQLite, MySQL, Oracle, etc.
TypeScript utilities: Zod schemas, TypeScript types, and interfaces.
Schema Validation: Validate your Yeti schemas against predefined rules.
Autocomplete: Smart suggestions for attributes, relationships, and keywords.
Intellisense: Context-aware documentation and hints.
Installation
Open the Extensions view in VSCode (Ctrl+Shift+X / Cmd+Shift+X).
Search for "Yeti".
Click Install.
Alternatively, install via the CLI:
code --install-extension yeti-lang
Usage
Open or create a .schema.flow file in VSCode.
Enjoy syntax highlighting and formatting as you write Yeti schemas.
Use the command palette (Ctrl+Shift+P / Cmd+Shift+P) to access extension features like formatting.
Example Schema
entity User
id num++
email text* email unique
password text* hash min(8)
name text(2-50) starts-with-capital
timezone text = "UTC"
currency text(3) = "USD"
payday pick[1-31] = 1 # day of month for salary
salary money(10,2)?
payFrequency pick[weekly|biweekly|monthly] = monthly
createdAt time = now
index email
Feedback and Contributions
We welcome your feedback and contributions to make this extension even better! Here’s how you can help:
Report Issues: Found a bug? Let us know on GitHub.
Feature Requests: Share your ideas for new features or improvements.
Contribute: Submit pull requests to help us enhance the extension.
License
This extension is licensed under the MIT License. See the LICENSE file for details.