Skip to content
Merged
Show file tree
Hide file tree
Changes from 4 commits
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
e3b0d57
Initial plan
Copilot Jan 15, 2026
7483bd2
Changes before error encountered
Copilot Jan 15, 2026
e30e298
Complete VSCode extension implementation with packaging
Copilot Jan 15, 2026
8356056
Add comprehensive quick start guide for VSCode extension
Copilot Jan 15, 2026
dec33ff
Fix TypeScript type checking errors in VSCode extension
Copilot Jan 15, 2026
8fa93c6
Fix CI/TypeScript build configuration for vscode extension
Copilot Jan 15, 2026
0b425c2
Initial plan
Copilot Jan 15, 2026
0913f66
Initial plan
Copilot Jan 15, 2026
e8a06c9
Update pnpm-lock.yaml with vscode-objectql dependencies
Copilot Jan 15, 2026
2a27721
Update pnpm-lock.yaml to include vscode-objectql dependencies
Copilot Jan 15, 2026
b7403f8
Verify build passes with updated lockfile
Copilot Jan 15, 2026
4375a73
Merge pull request #97 from objectstack-ai/copilot/fix-action-step-issue
xuyushun441-sys Jan 15, 2026
45dfc77
Merge pull request #96 from objectstack-ai/copilot/fix-issue-in-objec…
xuyushun441-sys Jan 15, 2026
faa1ef5
Merge branch 'main' into copilot/design-vscode-plugin
hotlong Jan 15, 2026
370eda7
Initial plan
Copilot Jan 15, 2026
67a7a17
Fix vscode-objectql test script to skip gracefully when no tests exist
Copilot Jan 15, 2026
5dab7b8
Merge pull request #99 from objectstack-ai/copilot/fix-action-job-ste…
hotlong Jan 15, 2026
77b3fdd
Merge remote-tracking branch 'origin/main' into copilot/design-vscode…
Copilot Jan 15, 2026
608ef81
Merge main branch and regenerate pnpm-lock.yaml
Copilot Jan 15, 2026
2dae4d0
Initial plan
Copilot Jan 15, 2026
309a4ad
Remove comment-summary-in-pr to avoid GitHub 64KB comment size limit
Copilot Jan 15, 2026
8ddd7ff
Merge pull request #101 from objectstack-ai/copilot/fix-action-run-issue
huangyiirene Jan 15, 2026
50b1adb
Initial plan
Copilot Jan 15, 2026
19b7d34
Add dependency review config to lower OpenSSF Scorecard threshold
Copilot Jan 15, 2026
9d67b34
Merge pull request #103 from objectstack-ai/copilot/update-job-step-r…
hotlong Jan 15, 2026
cc558de
Initial plan
Copilot Jan 15, 2026
3ffbd5a
Remove package-lock.json from vscode-objectql package
Copilot Jan 15, 2026
aea12cd
Merge pull request #106 from objectstack-ai/copilot/fix-problematic-p…
hotlong Jan 15, 2026
aca952e
Refactor examples and introduce modular templates
hotlong Jan 16, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion .vscode/extensions.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
{
"recommendations": [
"redhat.vscode-yaml"
"redhat.vscode-yaml",
"objectstack-ai.vscode-objectql"
]
}
27 changes: 27 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -159,6 +159,33 @@ ObjectQL supports three distinct query interfaces, each optimized for different

---

## 🛠️ Developer Tools

### VSCode Extension

Enhance your ObjectQL development experience with our official VSCode extension.

**Features:**
- 🎯 Intelligent IntelliSense for `.object.yml`, `.validation.yml`, `.permission.yml`, `.app.yml`
- ✅ Real-time JSON Schema validation with inline errors
- 📝 30+ code snippets for objects, fields, validations, hooks, and actions
- ⚡ Quick commands to create new ObjectQL files from templates
- 🎨 Custom file icons and syntax highlighting
- 🔍 Context-aware auto-completion

**Installation:**
```bash
cd packages/tools/vscode-objectql
npm install
npm run compile
npm run package
# Then install the generated .vsix file in VS Code
```

See [`packages/tools/vscode-objectql/README.md`](./packages/tools/vscode-objectql/README.md) for detailed documentation.

---

## 🛠️ Validation & Logic

ObjectQL includes a powerful validation engine that runs universally.
Expand Down
23 changes: 20 additions & 3 deletions docs/guide/ide-setup.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,28 @@ We recommend using [VS Code](https://code.visualstudio.com/) as your primary edi

### Recommended Extensions

**1. YAML (Red Hat)**
Essential for editing `*.object.yml` files. It provides syntax highlighting and validation.
**1. ObjectQL Extension** ⭐
The official ObjectQL extension provides intelligent IntelliSense, schema validation, and code snippets for all ObjectQL metadata files.

Features:
- Auto-completion for `.object.yml`, `.validation.yml`, `.permission.yml`, `.app.yml` files
- Real-time JSON Schema validation
- 30+ code snippets for common patterns
- Quick commands to create new ObjectQL files
- File icons and syntax highlighting
- TypeScript snippets for hooks and actions

**Installation:**
- From source: See `packages/tools/vscode-objectql/INSTALL.md`
- Will be available on VS Code Marketplace soon

**2. YAML (Red Hat)**
Essential for editing `*.object.yml` files. Provides syntax highlighting and validation.
[Install Extension](https://marketplace.visualstudio.com/items?itemName=redhat.vscode-yaml)

**2. JSON (Official)**
**Note:** The ObjectQL extension depends on the Red Hat YAML extension and will prompt you to install it automatically.

**3. JSON (Official)**
For editing configuration files.

## AI Assistant Configuration
Expand Down
7 changes: 7 additions & 0 deletions packages/tools/vscode-objectql/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
node_modules/
out/
*.vsix
.vscode-test/
*.log
.DS_Store
test-workspace/
31 changes: 31 additions & 0 deletions packages/tools/vscode-objectql/.vscode/launch.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
{
"version": "0.2.0",
"configurations": [
{
"name": "Run Extension",
"type": "extensionHost",
"request": "launch",
"args": [
"--extensionDevelopmentPath=${workspaceFolder}",
"${workspaceFolder}/test-workspace"
],
"outFiles": [
"${workspaceFolder}/out/**/*.js"
],
"preLaunchTask": "${defaultBuildTask}"
},
{
"name": "Extension Tests",
"type": "extensionHost",
"request": "launch",
"args": [
"--extensionDevelopmentPath=${workspaceFolder}",
"--extensionTestsPath=${workspaceFolder}/out/test/suite/index"
],
"outFiles": [
"${workspaceFolder}/out/test/**/*.js"
],
"preLaunchTask": "${defaultBuildTask}"
}
]
}
18 changes: 18 additions & 0 deletions packages/tools/vscode-objectql/.vscode/tasks.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
{
"version": "2.0.0",
"tasks": [
{
"type": "npm",
"script": "watch",
"problemMatcher": "$tsc-watch",
"isBackground": true,
"presentation": {
"reveal": "never"
},
"group": {
"kind": "build",
"isDefault": true
}
}
]
}
9 changes: 9 additions & 0 deletions packages/tools/vscode-objectql/.vscodeignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
.vscode/**
.vscode-test/**
src/**
.gitignore
.vscodeignore
tsconfig.json
test-workspace/**
node_modules/**
*.vsix
44 changes: 44 additions & 0 deletions packages/tools/vscode-objectql/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
# Changelog

All notable changes to the "ObjectQL" extension will be documented in this file.

## [0.1.0] - 2026-01-15

### Added
- Initial release of ObjectQL VSCode extension
- JSON Schema validation for `.object.yml`, `.app.yml` files
- Language support for ObjectQL metadata files
- Comprehensive snippets library:
- Object definition snippets
- Field type snippets (text, number, select, lookup, datetime, etc.)
- Validation rule snippets
- Index and AI search configuration snippets
- TypeScript hook snippets (beforeCreate, afterCreate, etc.)
- TypeScript action snippets (record, global)
- Repository operation snippets (query, create, update)
- Quick commands:
- New Object Definition
- New Validation Rules
- New Permission Rules
- New Application Config
- Validate Current File
- File type recognition with custom icons
- Integration with Red Hat YAML extension
- Welcome message for first-time users
- Configuration settings for validation, completion, and diagnostics

### Features
- Auto-completion for ObjectQL files
- Real-time schema validation
- Context-aware IntelliSense
- File templates with best practices
- Hover documentation support
- Problems panel integration

### Documentation
- Comprehensive README with examples
- Snippet usage guide
- Configuration reference
- Getting started guide

[0.1.0]: https://github.com/objectstack-ai/objectql/releases/tag/vscode-v0.1.0
68 changes: 68 additions & 0 deletions packages/tools/vscode-objectql/CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
# Contributing to ObjectQL VSCode Extension

Thank you for your interest in contributing to the ObjectQL VSCode extension!

## Development Setup

1. Clone the repository:
```bash
git clone https://github.com/objectstack-ai/objectql.git
cd objectql/packages/tools/vscode-objectql
```

2. Install dependencies:
```bash
npm install
```

3. Open in VS Code:
```bash
code .
```

4. Press `F5` to launch the extension in debug mode

## Making Changes

### Adding New Snippets

Edit the snippet files in `snippets/`:
- `snippets/objectql.json` - YAML snippets for object definitions
- `snippets/hooks-actions.json` - TypeScript snippets for hooks and actions

### Updating Schemas

JSON schemas are copied from `packages/foundation/types/schemas/`. To update:

1. Make changes in the source schemas
2. Run the copy script or manually copy updated schemas

### Adding New Commands

1. Add command definition in `package.json` under `contributes.commands`
2. Register command handler in `src/extension.ts`
3. Implement command logic

### Testing

1. Press `F5` to launch Extension Development Host
2. Test your changes in the new window
3. Check for errors in the Debug Console

## Code Style

- Use TypeScript strict mode
- Follow existing code patterns
- Add comments for complex logic
- Use English for all code and comments

## Submitting Changes

1. Create a feature branch
2. Make your changes
3. Test thoroughly
4. Submit a pull request with clear description

## Questions?

Open an issue in the main repository for questions or discussions.
Loading
Loading