IntelliJ Platform Community Edition

repository·master·Indexed 12 days ago

https://github.com/jetbrains/intellij-community

The open-source codebase for JetBrains IDEs and the foundation for IntelliJ Platform development. Includes documentation for the IDEA Dist Plugin-Model Visualizer, the Grid table component, the repair troubleshooting utility, and various embedded library modules such as Groovy, Dokka, and Microba.

Tokens
424.8K
Snippets
980
Records
1.9K
Agent score
98%

What's inside IntelliJ Platform

  1. Overview of JPS to Bazel Compiler

    master

    The JPS to Bazel compiler is a build tool designed to convert IntelliJ's JetBrains Project System (JPS) module definitions (found in .iml files and JPS project configurations) into Bazel BUILD files. This allows developers to build IntelliJ Platform modules using Bazel while preserving the existing JPS project structure.

    Key outputs include:

    • BUILD.bazel files generated per module.
    • lib/MODULE.bazel and lib/BUILD.bazel for library management.
    • build/bazel-targets.json for target manifests.
  2. Overview of intellij.platform.ui.webview

    master

    The intellij.platform.ui.webview is an experimental engine-neutral WebView runtime designed to embed local web-based UIs (TypeScript/HTML/CSS) into the IntelliJ Swing UI.

    Key features include:

    • Asset Hosting: Serves bundled assets through specialized WebView asset handlers rather than a local HTTP server.
    • Communication: Uses a typed JSON-RPC bridge for bidirectional communication between Kotlin/Java and the web page.
    • Engine Neutrality: Supports multiple backends including macOS WKWebView, Windows WebView2, Linux WebKitGTK (experimental), and JCEF.
    • Observability: Automatically captures browser console.* output and writes it to IDE loggers.
  3. Overview of the Eel API

    master

    The Eel API provides a unified, consistent interface for interacting with different execution environments in IntelliJ IDEA. It abstracts the differences between various hosts, allowing you to write code that works across:

    • Local machines
    • Docker containers
    • Windows Subsystem for Linux (WSL) distributions

    Note: The EelApi is currently marked as @ApiStatus.Experimental and is subject to change.

  4. Overview of Starter Core test framework

    master

    Starter is a test framework for IntelliJ IDEA-based IDEs that starts the IDE in a separate process to ensure isolation between the test runtime and the IDE runtime.

    To control the IDE, you can use two methods:

    1. Scenario files: Write a list of plain text strings in a specific format and pass the file to the IDE.
    2. Remote JMX calls: Trigger single commands remotely via a Driver implementation (currently not available in public versions).

    Commands are executed via the performanceTestingPlugin or its extension points.

  5. Overview of the Grazie plugin

    master

    Grazie is an IntelliJ IDEA plugin that provides local spell and grammar checking for various file types, including Markdown, JavaDoc, and plain text. It leverages LanguageTool for grammar checking and uses a combination of LanguageTool dictionaries and IntelliJ IDEA's built-in spellchecker for spellchecking.

    Depending on the context (such as within code blocks), Grazie may switch between a full checking pipeline (proofreading and spellchecking) and a simplified spellcheck-only mode to ensure accuracy and performance.

  6. Overview of WslTools

    master

    The WslTools project provides three specialized utilities to improve the experience of using Windows Subsystem for Linux (WSL) with JetBrains IDEs:

    1. wslproxy: A proxy that facilitates connections from Windows to WSL. This avoids firewall issues that occur when attempting to connect from WSL to Windows. It accepts an egress client (eth0) and an ingress client (loopback), passing data between them via two threads. It reports the IP and port via stdout. The process is terminated by writing EOF (closing the stream) to stdin.
    2. wslhash: A tool designed to run inside WSL to implement custom rsync-like functionality. It calculates hashes for all files in a specified folder and reports symbolic links. It is optimized for speed by running natively in WSL to avoid the slow access times associated with WSL-to-Windows file system calls.
    3. ttyfix: A utility that sets the TTY size to work around specific WSL issues (e.g., microsoft/WSL#10701).
  7. Overview of the IntelliJ Platform Syntax Library

    master
    The IntelliJ Platform Syntax Library is an engine designed for parsing files. It provides the core abstractions necessary to transform raw text into a structured syntax tree. For developers looking to build a full Program Structure Interface (PSI) tree, this library serves as a foundational component, though you should also refer to the Syntax PSI library documentation for higher-level PSI construction details.
  8. Overview of the platform/util/storages module

    master

    The platform/util/storages module provides a centralized collection of generally-useful storage implementations. It is designed to consolidate various storage mechanisms that were previously scattered across the codebase.

    Key types of storage implementations found in this module include:

    • Durable maps: Key-value stores that persist data to disk.
    • Enumerators: Specialized storage for managing sequences or enumerations.
    • Logs: Storage mechanisms for recording events or data streams.