For LSP (Language Server Protocol) features to work properly, you MUST use Yak engine version 1.4.4-alpha1030b or later.
- Extension Version: 1.4.1+
- Minimum Yak Engine Version: 1.4.4-alpha1030b
If you're using an older version of the Yak engine, LSP features (IntelliSense, code completion, diagnostics) will not function correctly.
- Yaklang (.yak) - Full language support including syntax highlighting, IntelliSense, and code completion
- SyntaxFlow (.sf) - Domain-specific language designed for security analysis
- IntelliSense - Auto-completion, function signatures, parameter hints (requires Yak engine >= 1.4.4-alpha1030b)
- Debugging - Complete debugging support with breakpoints, step execution, variable inspection
- Quick Run - Execute Yak scripts instantly via CodeLens or keyboard shortcuts
- Code Formatting - Automatic code formatting for consistent style
- Code Snippets - Rich code templates to boost productivity
- LSP Server - Real-time code analysis powered by Language Server Protocol (requires Yak engine >= 1.4.4-alpha1030b)
- Auto Detection - Automatically detect Yak engine from system PATH
- Version Management - Download, install, and switch between different Yak engine versions
- Multi-language UI - Switch between Chinese/English interface
- Status Bar Integration - Real-time display of current Yak engine version and status
- Open VS Code
- Go to Extensions view (
Ctrl+Shift+X/Cmd+Shift+X) - Search for "Yaklang"
- Click "Install"
code --install-extension v1ll4n.yak- Download the latest
.vsixfile from Releases - In VS Code:
Extensions→...→Install from VSIX...
CRITICAL: For LSP features to work, you must install Yak engine version 1.4.4-alpha1030b or later.
Option A: Auto-download via Extension
- Click the Yak version icon in the status bar
- Select "Download Yak Engine"
- Choose version 1.4.4-alpha1030b or later
- Wait for the download to complete
Option B: Manual Installation
# Linux/macOS
curl -sfL https://yaklang.com/install.sh | bash
# Windows (PowerShell)
iwr -useb https://yaklang.com/install.ps1 | iex
# Verify version (must be >= 1.4.4-alpha1030b)
yak versionThe extension supports two modes:
- Auto Mode (Recommended): Automatically use
yakcommand from system PATH - Custom Mode: Manually specify Yak engine path
Switch modes via status bar: Click Yak icon → Select the desired option
Create a .yak file and start coding:
// hello.yak
println("Hello, Yaklang!")
// Use built-in functions
http.Get("https://example.com", http.proxy("http://127.0.0.1:7890"))~
- CodeLens (Recommended): Click
Run Yak Scriptbutton at the top of the file - Keyboard Shortcut:
Cmd+Shift+B(macOS) /Ctrl+Shift+B(Windows/Linux) - Context Menu: Right-click →
Yak: Exec file - Command Palette:
Cmd+Shift+P→Yak: Exec file
Automatically displayed at the top of each .yak file:
- Run Yak Script - Execute the current script
- Debug Yak Script - Debug the current script
| Function | Windows/Linux | macOS |
|---|---|---|
| Run Script | Ctrl+Shift+B |
Cmd+Shift+B |
| Format Code | Shift+Alt+F |
Shift+Option+F |
| Command Palette | Ctrl+Shift+P |
Cmd+Shift+P |
Access all commands via Command Palette (Cmd+Shift+P / Ctrl+Shift+P):
| Command | Description |
|---|---|
Yak: Exec file |
Run current Yak script |
Yak: Debug file |
Debug current Yak script |
Yak: Format file |
Format current file |
Yak: Configure Engine |
Open engine configuration panel |
Yaklang: LSP Status |
View LSP server status |
Yaklang: Restart LSP Server |
Restart language server |
Yaklang: Download Yak Engine |
Download specific version of engine |
Yaklang: List Installed Versions |
View all installed engine versions |
Yaklang: Switch Language |
Switch interface language (Chinese/English) |
Right-click in a .yak file to access:
- Yak: Exec file - Run script
- Yak: Debug file - Debug script
- Yak: Format file - Format code
{
// Engine source mode
"yaklang.yakBinarySource": "auto", // "auto" or "custom"
// Custom engine path (only used in custom mode)
"yaklang.yakBinaryPath": ""
}auto(Recommended): Automatically findyakcommand from system PATHcustom: Use custom path (requiresyakBinaryPathconfiguration)
Full path to the custom Yak engine, for example:
- macOS/Linux:
/usr/local/bin/yak - Windows:
C:\Program Files\yaklang\yak.exe
- Set breakpoints in code (click left of line numbers)
- Press
F5or click CodeLens'sDebug Yak Script - Use debug console to inspect variables, call stack, etc.
Customize debug configuration in .vscode/launch.json:
{
"version": "0.2.0",
"configurations": [
{
"type": "yak",
"request": "launch",
"name": "Debug Yak Script",
"program": "${file}",
"args": [],
"env": []
}
]
}MOST COMMON CAUSE: You are using an older version of the Yak engine.
Solution:
- Check your Yak engine version: Run
yak versionin terminal - If version is less than 1.4.4-alpha1030b, upgrade:
- Click status bar Yak icon → "Download Yak Engine"
- Select version 1.4.4-alpha1030b or later
- Restart VS Code after upgrading
Solutions:
- Check VS Code settings:
Settings→Editor→ EnsureEditor: Code Lensis enabled - Reload window:
Cmd+Shift+P→Developer: Reload Window - Check file language mode is
Yak(bottom-right status bar)
Solutions:
- Click Yak icon in status bar
- Select "Download Yak Engine" for automatic download (version >= 1.4.4-alpha1030b)
- Or manually set engine path: Status bar → "Choose yak binary from file browser"
Solutions:
- First, verify Yak engine version >= 1.4.4-alpha1030b
- Open Command Palette:
Cmd+Shift+P - Run:
Yaklang: Restart LSP Server - Check output:
View→Output→ Select "Yaklang LSP"
Solutions:
- Ensure Yak engine version >= 1.4.4-alpha1030b (most common issue)
- Check LSP server status:
Yaklang: LSP Status - Restart LSP:
Yaklang: Restart LSP Server - Restart VS Code
- Official Website: https://yaklang.com
- Documentation: https://yaklang.com/docs
- GitHub: https://github.com/yaklang/yaklang
- Issue Tracker: https://github.com/yaklang/yaklang-support/issues
Contributions are welcome! Please see CONTRIBUTING.md for details.
- Report Bugs
- Suggest New Features
- Improve Documentation
- Submit Pull Requests
This project is licensed under the MIT License.
Thanks to all developers who have contributed to the Yaklang ecosystem!
- Bug Reports: GitHub Issues
- Feature Requests: GitHub Discussions
Made with love by the Yaklang Team