PD# Language Support, Compiler & Academy
Official Visual Studio Code extension for PD# (PD Sharp), the modern, lightweight native programming language featuring first-class Win32 desktop GUI, real-time 2D/3D graphics, process/file automation, and standalone native binary compilation.
🌟 Highlights & Features
⚡ 100% Self-Contained — Zero Setup:
- The interpreter (
pdsharp.exe) and compiler (pdcomp.exe) are built directly into the extension.
- No manual binary configuration, SDK installations, or workspace setup required. Simply write
.pd scripts and press F5!
🎓 Interactive PD# Academy:
- Press
Ctrl+F1 or click 🎓 PD# Academy in the status bar at any time to open the built-in learning hub.
- 7 interactive modules with one-click "Open in Editor", "Run Script", and "Compile to EXE" actions.
- Complete project showcases including Native Win32 Calculator, 3D Pong, and Meteor Defense 3D.
- Searchable syntax and API Cheat Sheets.
🎨 Full Syntax Highlighting & Grammar:
- Directives:
#link, #Win, #include, #define
- Window Types:
Gen, Graphics, Text, Notice, Confirm, Filedialog
- Handles (
:handle:) and Labels (::label::)
- UI Controls:
button, textbox, label, checkbox, onclick, dimen, winops
- 3D Graphics:
draw_solid_box3d, draw_solid_cube3d, camera3d, draw_line3d, draw_sphere3d, flush3d
- 2D Canvas:
draw_rect, draw_circle, draw_line, draw_text, clear, set_pixel
- Input & Mouse:
key(), mouse_x(), mouse_y(), mouse_btn(), capture_mouse, hide_cursor
- Control Accessors:
get_text(), set_text(), append_text(), get_check(), set_check()
- System & Files:
file_read(), file_write(), file_append(), file_exists(), file_open_dialog(), spawn(), exec_output(), val()
- Control Flow:
if...then...elseif...else...endif, while...endwhile, for...to...step...endfor, repeat...until
🚀 Instant Execution & Native Compilation:
F5 or ▶ Run PD#: Runs the active script directly in the interpreter.
Ctrl+Shift+B or ⚙ Compile .EXE: Compiles the script into a standalone native Windows .exe binary via PDCOMP with pre-compilation AST validation.
🚀 Quick Examples
1. Native Win32 GUI Window & Controls
#Win "My Application" for Gen as :mainWin: = { dimen = 500, 350 winops = cr }
label :mainWin: "Welcome to Native Win32 GUI!" as :lblTitle: at 30, 30, 400, 25
button :mainWin: "Click Me!" as :btnClick: at 30, 80, 120, 35 {
onclick ::on_btn_click::
}
print :mainWin: { trapclose ::on_close:: }
hold
::on_btn_click::
print "Button clicked!"
hold
::on_close::
kill :mainWin:
end
2. Real-Time 3D Rotating Cube
#Win "3D World" for Graphics as :gWin: = { dimen = 800, 600 winops = cr }
rot = 0.0
running = 1
while running then
print :gWin: { clear "black" }
print :gWin: { camera3d 0, -20, 600, 450 }
print :gWin: { draw_solid_cube3d 0, 0, 0, 100, rot, rot * 0.7, 0, "cyan", 1.0 }
print :gWin: { draw_text 20, 20, "PD# 3D Depth-Sorted Engine", "white" }
pump
sleep 16
rot = rot + 0.03
if key("ESC") then
running = 0
endif
endwhile
kill :gWin:
end
⌨️ Shortcuts & Commands
| Action |
Shortcut |
Command |
| Open PD# Academy |
Ctrl+F1 |
PD#: Open PD# Academy |
| Run Script (Interpreted) |
F5 |
PD#: Run Script (Interpreted) |
| Compile to Standalone .EXE |
Ctrl+Shift+B |
PD#: Compile to Standalone .EXE |
🛠️ System Requirements
- Windows 10 / 11 (x64 / x86).
- MinGW-w64 G++ (only required if compiling native
.exe binaries with PDCOMP).
- The
pdsharp.exe interpreter runs standalone without any compilers or prerequisites.
📄 License & Publisher
MIT License © 2026 PDDEVELOPMENT.
| |