vscode-window-messages
Installation
SKILL.md
VSCode Window Messages Best Practices
Quick Reference: Critical Rules
| Category | DO | DON'T |
|---|---|---|
| API | Direct vscode.window.show*Message |
Legacy NotificationService |
| Messages | nls.localize('key', ...args) |
String literals or template literals without nls |
| Return Values | Handle Thenable<string | undefined> or Thenable<MessageItem | undefined> |
Ignore return values |
| Button Actions | Check return value for button clicks | Assume user always clicks |
| Button Actions | nls.localize |
String literals or template literals without nls |
| Modal Options | { modal: true, detail: ... } for blocking dialogs |
detail without modal: true (detail modal-only); explicit 'Cancel' buttons (VS Code adds one automatically) |
| Effect (wait) | Effect.promise() when response needed |
Effect.promise() for fire-and-forget |
| Effect (no wait) | Effect.sync() for fire-and-forget |
Effect.promise() when not waiting |
Use Direct vscode.window Calls
Use vscode.window.show*Message directly. Don't use legacy NotificationService in new code.