Skip to content

Conversation

Copy link

Copilot AI commented Sep 18, 2025

This PR completes the IntelliJ extension by implementing all the functionalities available in the VSCode extension, providing feature parity between both IDEs for Otter framework development.

Changes Made

Generate Commands

Added comprehensive generation commands with rich dialog interfaces:

  • Generate Component - Creates Otter Angular components with configurable structure (full/container/presenter)
  • Generate Service - Creates Otter services with feature name configuration
  • Generate Store - Creates NgRX stores with support for entity/simple and async/sync variants
  • Generate Module - Creates Otter modules with description support
  • Generate Fixture - Context-sensitive fixture generation for HTML templates with multiple method selection

Component Enhancement Commands

Implemented all component enrichment actions that are context-sensitive to component files:

  • Add Analytics, Configuration, Context, Fixture, iframe to components
  • Add Localization architecture and individual localization keys
  • Add Rules Engine and Theming capabilities
  • Convert existing Angular components to Otter components

Extract & Refactor

Enhanced the existing SCSS extraction functionality:

  • Extract All Variables - New action to extract all SCSS properties in a file to o3r variables
  • Improved the existing single property extraction with better variable naming

Module Management

  • Add Otter Modules - Dialog-based selection and installation of @o3r modules using ng add

IntelliSense Features

Added smart code completion:

  • SCSS Styling Completion - Auto-completion for $o3rVariable with proper template insertion when @use '@o3r/styling' is detected
  • Configuration Tags Completion - JSDoc completion for @o3rWidget and @o3rWidgetParam in TypeScript/JavaScript files

Technical Implementation

Architecture

  • Organized Package Structure - Actions grouped by functionality (generate, enrich, extract, module)
  • Command Runner Utility - Centralized execution of Angular CLI commands via IntelliJ terminal
  • Context-Sensitive Actions - Actions only appear for appropriate file types and contexts
  • Rich Dialog System - User-friendly input dialogs with validation and helpful hints

User Experience

  • Professional Menu Organization - Actions grouped logically in context menus under "Otter"
  • Multiple Access Points - Available from editor context menu and project view
  • Smart Validation - Input validation with clear error messages
  • Comprehensive Documentation - Updated README and plugin description with usage instructions

Usage Examples

Generate a new component:

Right click in project → Otter → Generate → Component

Add analytics to existing component:

Right click on component file → Otter → Add to Component → Analytics

Extract SCSS variables:

Right click in SCSS file → Otter → Extract all SCSS properties to o3r.variables

Add localization key from template:

Select text in template.html → Right click → Otter → Add to Component → Add Localization Key

Compatibility

  • IntelliJ Platform 2024.1+ - Updated to modern IntelliJ platform
  • WebStorm/IntelliJ IDEA - Compatible with all JetBrains IDEs supporting Angular development
  • Plugin Dependencies - Added support for JavaScript, SCSS, and Terminal modules

The IntelliJ extension now provides complete feature parity with the VSCode extension, enabling Otter framework developers to have a consistent and comprehensive development experience regardless of their IDE choice.

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • cache-redirector.jetbrains.com

If you need me to access, download, or install something from one of these locations, you can either:


💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.

Copilot AI changed the title [WIP] I've built an intellij extension (apps/intellij-extension) based on the existing vscode-extension from the apps folder. It is not complete. You need to add all the functionalities from vscode-extension to this intellij extension feat(intellij-extension): Add all VSCode extension functionalities to IntelliJ extension Sep 18, 2025
Copilot AI requested a review from OxyFlax September 18, 2025 10:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants