RainSyntax is a powerful VS Code extension tailored for Rainmeter enthusiasts, providing an intuitive environment that streamlines skin creation, reduces errors, and boosts productivity by offering tools specifically designed for Rainmeter's unique scripting needs. It provides syntax highlighting, code snippets, autorefresh skin, gui settings for customize, hover information on text, autocompletion, validation, color-picker provider, code format and a sleek theme to enhance your Rainmeter skin development experience.
- Syntax Highlighting: Tailored for Rainmeter, this feature highlights essential syntax elements such as sections, measures, and bangs, enabling quick identification and debugging of your code.
- Code Snippets: Easily insert frequently used Rainmeter code blocks and configurations to streamline your workflow.
- Auto-Refresh: Automatically refresh your Rainmeter skins upon saving
.ini
,.inc
, or.nek
files, ensuring real-time updates. - Color Picker: Access a user-friendly color picker for selecting Hex and RGB values, enhancing your design precision.
- Hover Information: Get contextual hover information for various keys and elements, aiding in understanding and usage.
- Code Formatter: Format your
.ini
,.inc
, or.nek
files with built-in validation to maintain clean and organized code. - Validation Checks: Implement various validation checks to ensure your code adheres to Rainmeter standards and best practices.
- Customizable Settings: Utilize a webview GUI for easy customization of settings, allowing for a personalized development environment.
- RainSyntax Theme: Enjoy a custom theme designed for a visually appealing and distraction-free coding experience.
- Enhanced Productivity: Optimized for seamless Rainmeter skin development, this tool boosts your productivity and efficiency.
The Syntax Highlighting feature is an essential tool for Rainmeter developers, designed to improve code readability and facilitate easier debugging. By visually distinguishing key elements of Rainmeter syntax, this feature helps you quickly identify sections, measures, bangs, and other critical components of your code.
- Enhanced Readability: Different colors and styles are applied to various syntax elements, making it easier to scan and understand your code at a glance. This is particularly useful in complex configurations where multiple elements are present.
- Error Detection: By highlighting syntax errors or inconsistencies, this feature allows you to spot potential issues before running your skins. This proactive approach can save time and reduce frustration during development.
- Familiarity with Syntax: For both new and experienced developers, syntax highlighting reinforces the structure and rules of Rainmeter coding. This can be especially beneficial for those who are still learning the intricacies of the language.
- Customizable Themes: Users can choose from different color schemes or create their own, allowing for a personalized coding environment that suits individual preferences and reduces eye strain during long coding sessions.
The Code Snippets feature is designed to enhance your coding efficiency by allowing you to quickly insert commonly used Rainmeter code blocks and configurations. This functionality is particularly beneficial for developers who frequently work with repetitive code structures, as it minimizes the need for manual typing and reduces the likelihood of errors.
- Time-Saving: Instantly access a library of pre-defined snippets, allowing you to focus on the creative aspects of your Rainmeter skin development rather than repetitive coding tasks.
- Customization: Users can create and manage their own snippets, tailoring the library to fit their specific needs and preferences. This ensures that you have quick access to the code blocks you use most often.
- Easy Insertion: Insert snippets with a simple keyboard shortcut or through a user-friendly interface, making it easy to integrate them into your projects without disrupting your workflow.
- Consistency: By using standardized snippets, you can maintain consistency across your projects, which is especially important for collaborative work or when revisiting older skins.
The Auto-Refresh feature is a vital tool for Rainmeter developers, designed to streamline the development process by automatically refreshing your Rainmeter skins whenever you save changes to your .ini
, .inc
, or .nek
files. This functionality significantly enhances productivity and allows for a more efficient workflow.
- Real-Time Updates: With Auto-Refresh enabled, any modifications you make to your skin files are instantly reflected on your desktop. This eliminates the need for manual refreshing, allowing you to see the results of your changes immediately.
- Faster Iteration: The ability to quickly test and view changes encourages rapid prototyping and experimentation. You can adjust your designs, tweak configurations, and refine your skins without interruption.
- Reduced Errors: By automatically refreshing your skins, you minimize the risk of forgetting to refresh manually, which can lead to confusion and errors during development.
- Seamless Workflow: The Auto-Refresh feature integrates smoothly into your coding routine, allowing you to focus on writing and refining your code rather than managing refresh actions.
The Color Picker feature is an essential tool for Rainmeter developers, providing a user-friendly interface for selecting and managing color values in your skins. This feature simplifies the process of choosing colors, ensuring that your designs are visually appealing and consistent.
- Intuitive Interface: The Color Picker offers a straightforward and interactive interface, allowing you to select colors visually rather than manually entering hex or RGB values. This makes it easier to find the perfect shade for your design.
- Hex and RGB Support: The tool supports both Hexadecimal and RGB color formats, giving you flexibility in how you define colors in your Rainmeter skins. You can easily switch between formats to suit your preferences.
- Real-Time Preview: As you select colors, you can see a real-time preview of how they will appear in your skin. This immediate feedback helps you make informed decisions about color choices.
- Custom Color Palettes: Save frequently used colors to a custom palette for quick access in future projects. This feature promotes consistency across your skins and speeds up the design process.
- Accessibility Features: The Color Picker can include options for color blindness accessibility, ensuring that all users can effectively choose and differentiate colors.
The Hover Information feature is a valuable tool for Rainmeter developers, providing contextual help and guidance directly within the coding environment. This feature enhances the user experience by offering instant information about various keys, functions, and syntax elements as you hover over them.
- Instant Contextual Help: Hovering over specific keys or elements in your code displays relevant information, such as descriptions, usage examples, and syntax rules. This immediate access to information helps you understand how to use different components effectively.
- Learning Aid: For new developers or those unfamiliar with certain Rainmeter features, the Hover Information serves as an educational resource, making it easier to learn and apply best practices without needing to consult external documentation.
- Error Reduction: By providing clear explanations and examples, this feature helps reduce the likelihood of syntax errors and misconfigurations, leading to more reliable and functional skins.
- Enhanced Productivity: With quick access to information, you can spend less time searching for documentation and more time focused on coding and design, streamlining your development process.
The Code Formatter feature is an essential tool for Rainmeter developers, designed to help you maintain clean, organized, and readable code. This feature automatically formats your .ini
, .inc
, or .nek
files according to established coding standards, making it easier to manage and understand your Rainmeter skins.
- Consistent Formatting: The Code Formatter ensures that your code adheres to a consistent style, including indentation, spacing, and line breaks. This uniformity enhances readability and makes it easier to collaborate with others.
- Error Reduction: By applying formatting rules, the tool can help identify and correct common syntax errors, such as missing brackets or incorrect spacing, before they become problematic.
- Improved Readability: Well-formatted code is easier to read and understand, allowing you to quickly navigate through your configurations and make necessary adjustments without confusion.
- Customizable Rules: Users can customize formatting rules to suit their preferences or project requirements, ensuring that the formatter aligns with your coding style.
The Validation Checks feature is a crucial tool for Rainmeter developers, designed to ensure that your code adheres to Rainmeter's syntax rules and best practices. This feature helps identify potential issues and inconsistencies in your .ini
, .inc
, or .nek
files, promoting the creation of reliable and functional skins.
- Error Detection: Validation Checks automatically scan your code for common syntax errors, such as missing brackets, incorrect measure types, or invalid parameter values. This proactive approach helps you catch mistakes before they lead to runtime errors.
- Best Practices Enforcement: The feature encourages adherence to best coding practices by flagging potential issues, such as unused measures or meters, and suggesting improvements to enhance code efficiency and readability.
- Improved Debugging: By providing clear error messages and suggestions for corrections, Validation Checks streamline the debugging process, allowing you to quickly identify and resolve issues in your code.
- User -Friendly Feedback: Validation results are presented in an easy-to-understand format, often highlighting the specific lines or sections of code that require attention, making it simple to navigate to the source of the problem.
The Customizable Settings feature allows Rainmeter developers to tailor the Auto-Refresh functionality to their specific needs. This feature provides essential options for managing how and when your skins refresh, enhancing your development workflow.
- Auto-Refresh Control: Easily toggle the Auto-Refresh feature on or off, giving you the flexibility to decide when you want your skins to update automatically. This is particularly useful during intensive coding sessions where frequent refreshes may be unnecessary.
- Customizable Refresh Options: Choose whether to refresh all skins or only specific ones. This allows you to focus on particular projects without disrupting others, making your development process more efficient.
- Rainmeter Path Configuration: Set the path to your Rainmeter installation, ensuring that the Auto-Refresh feature works seamlessly with your setup. This is crucial for users with non-standard installation locations or multiple Rainmeter versions.
The RainSyntax Theme feature provides a visually appealing and distraction-free coding environment specifically designed for Rainmeter developers. This custom theme enhances the overall user experience by offering a clean and organized interface that promotes focus and productivity.
- Aesthetic Appeal: The RainSyntax Theme features a modern and attractive design, incorporating a harmonious color palette that is easy on the eyes. This helps reduce visual fatigue during long coding sessions.
- Enhanced Readability: Thoughtfully chosen font styles and sizes improve text clarity, making it easier to read and understand your code. Syntax highlighting is also optimized to ensure that key elements stand out effectively.
- Distraction-Free Environment: The theme minimizes unnecessary visual clutter, allowing you to concentrate on your coding tasks without distractions. This is particularly beneficial for developers who prefer a streamlined workspace.
Left Click on the bottom statusbar and Gui settings will open in seperate tab.
You can configure the following settings in your settings.json
file:
rainSyntax.autoRefreshOnSave: Automatically refresh Rainmeter skins when saving .ini
, .inc
, and .nek
files.
- Type:
boolean
- Default:
true
- Example:
"rainSyntax.autoRefreshOnSave": true
rainSyntax.rainmeterPath: Path to the Rainmeter executable.
- Type:
string
- Default:
C:\\Program Files\\Rainmeter\\Rainmeter.exe
- Example:
"rainSyntax.rainmeterPath": "C:\\Program Files\\Rainmeter\\Rainmeter.exe"
3.rainSyntax.refreshMode: Change the Refresh Mode.
- Type:
string
- Default :
All
- Example
"rainSyntax.refreshMode": "all"
You can update the settings directly from the Command Palette:
- Toggle Auto Refresh: Use the command "Toggle AutoRefresh Rainmeter" to enable or disable auto-refresh for
.ini
,.inc
, and.nek
file saves. - Change Rainmeter Executable Path: Use the command "Change Rainmeter Path" to input a new path to your Rainmeter executable.
This feature provides a clear and structured visual representation of your Rainmeter code, making it easier to identify elements like sections, variables, and comments. Below is a snapshot to give you an idea of its appearance in action.
---Feel free to contribute to the development of RainSyntax! Follow these steps:
- Fork this repository.
- Clone the forked repository to your local machine.
- Make your changes and test them.
- Create a pull request explaining your changes.
If you encounter any issues or have suggestions for improvement, please open an issue on GitHub. Your feedback is invaluable!