GDShader Render
English | 简体中文
Preview Godot .gdshader files in real time from the Visual Studio Code sidebar. A bundled Godot companion project renders the active shader in a hidden desktop window and sends captured frames back to the extension over a local connection.
Features
- Live sidebar previews for Godot shaders.
- Source-synchronized controls for numeric ranges, booleans, enums, colors, and vectors.
- Separate component inputs for
vec2, vec3, and vec4 uniforms.
- Built-in
sampler2D sources: white, Godot icon, configurable noise, and linear gradients.
- Noise controls for seed, frequency, octaves, and seamless generation.
- Automatic uniform preservation while parameters are adjusted.

Requirements
- Visual Studio Code 1.85 or later.
- GDShader LSP Support. It is declared as an extension dependency (
Suzuran.gdshader-lsp-support).
- A desktop build of Godot 4.6 or later with the OpenGL 3 compatibility renderer.
Godot must be available as godot/godot.exe on PATH, in a common installation directory, or configured with gdshaderPreview.godotPath. Official Windows downloads often include the version in the executable name, so setting the full path is recommended.
Getting Started
- Install GDShader LSP and GDShader Render.
- Set
gdshaderPreview.godotPath if Godot cannot be found automatically.
- Open a
.gdshader file.
- Open GDShader Render from the Activity Bar.
- Select Enable Render Preview or run GDShader Render: Start Render Preview.
| Shader declaration |
Preview control |
float, int, or uint with hint_range |
Slider and numeric input |
bool |
Checkbox |
Numeric uniform with hint_enum |
Dropdown |
vec3 or vec4 with source_color/hint_color |
Color picker and literal input |
Non-color vec2, vec3, or vec4 |
Independent component numeric inputs |
sampler2D |
White, icon, noise, or gradient source |
Sampler choices are preview resources and are not written as shader literals. The icon source uses the packaged godot_icon.svg. Noise can be configured with seed, frequency, octaves, and a seamless option. Gradients expose start color, end color, and angle.
Commands
| Command |
Windows/Linux |
macOS |
| Toggle Render Preview |
Ctrl+Shift+R |
Cmd+Shift+R |
| Start Render Preview |
Ctrl+Shift+Alt+R |
Cmd+Shift+Alt+R |
| Stop Render Preview |
Ctrl+Shift+Alt+S |
Cmd+Shift+Alt+S |
Settings
| Setting |
Default |
Purpose |
gdshaderPreview.enable |
false |
Start the preview automatically when the extension activates. |
gdshaderPreview.godotPath |
empty |
Full path to the Godot executable; empty enables automatic discovery. |
gdshaderPreview.resolution |
256 |
Width and height of the square render target, from 64 to 1024 pixels. |
gdshaderPreview.maxFrameRate |
30 |
Maximum preview and parameter-update rate, from 1 to 60 FPS. |
gdshaderPreview.defaultShaderType |
spatial |
Fallback type when the source omits shader_type. |
gdshaderPreview.godotLaunchArgs |
[] |
Additional Godot process arguments. |
gdshaderPreview.ipcTimeout |
15000 |
Timeout for local companion requests in milliseconds. |
Every contributed setting is consumed by the runtime. Obsolete or non-functional settings are not exposed.
Known Limitations
- The preview target is square and is not a replacement for testing inside the final Godot scene.
canvas_item and spatial are the primary preview targets. Other shader types may not have the same scene context they receive in Godot.
- Project textures and engine-provided screen/depth textures are not automatically imported into the companion project.
- Custom Godot launch arguments can override defaults and may prevent the companion from starting.
License
Released under the MIT License.
Repository: Suzuran28/gdshader-render-vsix