{"id":21726045,"url":"https://github.com/obiwan87/odin-intellij","last_synced_at":"2025-07-18T18:31:27.870Z","repository":{"id":187962970,"uuid":"677877186","full_name":"obiwan87/odin-intellij","owner":"obiwan87","description":"Odin Support plugin for JetBrains IDEs","archived":false,"fork":false,"pushed_at":"2025-07-13T17:37:20.000Z","size":6069,"stargazers_count":107,"open_issues_count":20,"forks_count":7,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-07-13T19:31:14.826Z","etag":null,"topics":["java","jetbrains","odin","odin-lang","plugin"],"latest_commit_sha":null,"homepage":"https://plugins.jetbrains.com/plugin/22933-odin-support","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/obiwan87.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"github":["obiwan87"],"patreon":null,"open_collective":null,"ko_fi":"simonedistefano","tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"lfx_crowdfunding":null,"polar":null,"buy_me_a_coffee":null,"thanks_dev":null,"custom":null}},"created_at":"2023-08-13T00:10:53.000Z","updated_at":"2025-07-13T17:37:25.000Z","dependencies_parsed_at":"2024-06-22T14:12:37.373Z","dependency_job_id":"1402e518-f233-4eb7-b98b-f099a0ad3605","html_url":"https://github.com/obiwan87/odin-intellij","commit_stats":null,"previous_names":["obiwan87/odin-intellij"],"tags_count":26,"template":false,"template_full_name":null,"purl":"pkg:github/obiwan87/odin-intellij","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/obiwan87%2Fodin-intellij","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/obiwan87%2Fodin-intellij/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/obiwan87%2Fodin-intellij/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/obiwan87%2Fodin-intellij/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/obiwan87","download_url":"https://codeload.github.com/obiwan87/odin-intellij/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/obiwan87%2Fodin-intellij/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265809896,"owners_count":23831944,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["java","jetbrains","odin","odin-lang","plugin"],"created_at":"2024-11-26T03:20:10.373Z","updated_at":"2025-07-18T18:31:27.858Z","avatar_url":"https://github.com/obiwan87.png","language":"Java","funding_links":["https://github.com/sponsors/obiwan87","https://ko-fi.com/simonedistefano"],"categories":["Closed-Source Projects"],"sub_categories":["Vendor"],"readme":"# Odin Support for IntelliJ\n\nThis plugin provides support for the [Odin programming language](https://www.odin-lang.org) in IntelliJ IDEA. You can add the plugin to your JetBrains\nIDE via the \"Plugin\" settings panel or by visiting the [Odin Plugin Page](https://plugins.jetbrains.com/plugin/22933-odin-lang-support).\n\n### Compatibility with JetBrains Products\n\nThis table summarizes the features supported by the Odin IntelliJ Plugin across various JetBrains IDEs, including debugging, project creation,\nauto-completion, and free usage options.\n\n\u003ctable\u003e\n\u003ctr\u003e\n\u003cth\u003eProduct\u003c/th\u003e\n\u003cth\u003eDebugging\u003c/th\u003e\n\u003cth\u003eProject creation\u003c/th\u003e\n\u003cth\u003eFull auto-completion features\u003c/th\u003e\n\u003cth\u003eFree non-commercial use\u003c/th\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eIntelliJ Community\u003c/td\u003e\n\u003ctd\u003e❌\u003c/td\u003e\n\u003ctd\u003e✅\u003c/td\u003e\n\u003ctd\u003e✅\u003c/td\u003e\n\u003ctd\u003e✅\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eIntelliJ Ultimate\u003c/td\u003e\n\u003ctd\u003e✅*\u003c/td\u003e\n\u003ctd\u003e✅\u003c/td\u003e\n\u003ctd\u003e✅\u003c/td\u003e\n\u003ctd\u003e❌\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eGoLand\u003c/td\u003e\n\u003ctd\u003e✅*\u003c/td\u003e\n\u003ctd\u003e✅\u003c/td\u003e\n\u003ctd\u003e✅\u003c/td\u003e\n\u003ctd\u003e❌\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eRider**\u003c/td\u003e\n\u003ctd\u003e✅\u003c/td\u003e\n\u003ctd\u003e❌\u003c/td\u003e\n\u003ctd\u003e✅\u003c/td\u003e\n\u003ctd\u003e✅\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eCLion\u003c/td\u003e\n\u003ctd\u003e✅\u003c/td\u003e\n\u003ctd\u003e✅\u003c/td\u003e\n\u003ctd\u003e✅\u003c/td\u003e\n\u003ctd\u003e✅\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cstrong\u003eRustRover\u003c/strong\u003e\u003c/td\u003e\n\u003ctd\u003e✅\u003c/td\u003e\n\u003ctd\u003e✅\u003c/td\u003e\n\u003ctd\u003e✅\u003c/td\u003e\n\u003ctd\u003e✅\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cstrong\u003ePyCharm Professional\u003c/strong\u003e\u003c/td\u003e\n\u003ctd\u003e✅*\u003c/td\u003e\n\u003ctd\u003e✅\u003c/td\u003e\n\u003ctd\u003e✅\u003c/td\u003e\n\u003ctd\u003e❌\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/table\u003e\n\n\\* Requires installing the free plugin \"Native Debugging Support\" (see section **Debugger Settings**).\n\n\\*\\* Full auto-completion features added for \"Rider\" in plugin version \u003e= 0.12.0\n## Getting Started\n\nTo begin, ensure you have installed the plugin using the steps mentioned above.\n\n\n\n## SDK Setup\n\nDownload the Odin SDK [here](https://github.com/odin-lang/Odin/releases) or build it from source by following the instructions on the official\nOdin [Install page](https://odin-lang.org/docs/install/).\n\n### Creating a New Project\n\n\u003e [!IMPORTANT]\n\u003e Rider does not support creating new projects. If you're using Rider, create a new empty solution and manually add a folder for your Odin \"project.\"\n\nUse the \"New Project...\" wizard in IntelliJ to create a blank Odin project. The default project structure will look like this:\n\n```\n| - bin\n| - src\n| -- main.odin\n```\n\n### Importing a Project from Existing Sources\n\n\u003e [!WARNING]\n\u003e If you open an Odin project created with an IDE other than Rider in Rider, you may encounter unexpected behavior related to source and collection\n\u003e roots. You can still open such projects in Rider, but first, unmark all source and collection roots in a non-Rider IDE to avoid issues.\n\nIf you are importing an existing Odin project, refer to the **Advanced Settings** section below for additional configuration steps.\n\n### Project Settings\n\nTo configure the project:\n\n1. Open the settings panel and navigate to **Languages \u0026 Frameworks** \u003e **Odin**.\n2. Set the following fields:\n\n- **Path to SDK**: The location of the Odin SDK folder, where the Odin binary resides.\n- **Checker Arguments**: Command-line arguments for the Odin checker. These arguments control the warnings and errors displayed in the editor. Run\n  `odin checker --help` for a list of available options.\n\n### Debugger Settings\n\nDebugger support is available in IntelliJ IDEA Ultimate, GoLand, CLion, PyCharm Professional, and RustRover. If you don't see the\n**Debugger Settings** section in the Odin settings, you need to install\nthe [Native Debugging Support plugin](https://plugins.jetbrains.com/plugin/12775-native-debugging-support) from the JetBrains marketplace.\n\nHere’s an example of what the settings panel will look like when properly configured:\n\n![Debugger Settings](debugger-settings.png)\n\nThe following sections outline the setup for various debuggers.\n\n#### LLDB-DAP\n\nTo set up LLDB-DAP:\n\n1. Download the [LLVM 18.1.x binaries](https://github.com/llvm/llvm-project/releases/tag/llvmorg-18.1.8) for your platform\n2. In the Odin settings page, select the `lldb-dap` executable from the `bin` directory.\n\n\u003e [!IMPORTANT]\n\u003e LLDB-DAP requires Python 3.10. Ensure Python 3.10 is installed and accessible by LLDB-DAP. On Windows, the easiest approach is to download the\n\u003e embeddable Python 3.10 package and extract its contents into the LLVM `bin` directory.\n\n#### Windows Debugger\n\nTo set up the Windows debugger, click the **Download** button. Once the download completes, the path to the debugger will be configured automatically.\n\n#### LLDB (Linux and macOS Only)\n\nOn Linux and macOS, LLDB works out-of-the-box without additional configuration.\n\n## Advanced Settings\n\nTo unlock the full feature set of this plugin, you must configure **Source Directories** (mandatory) and **Collection Directories** (optional).\n\n### Source Directories\n\nSource directories define the root of your project's source code. These settings are essential for code auto-completion and other IDE features. To\nmark a directory as a source root:\n\n1. Right-click the directory in the project view.\n2. Select **Mark Directory as \u003e Odin Sources Root**.\n\n![Mark Directory as Sources Root](img/mark_as_source_root.png)\n\nThis directory should contain your Odin file with the `main` procedure and your package structure. You can have multiple source roots, but one source\nroot must not be a subdirectory of another.\n\n### Collection Directories\n\nOdin supports custom collections, which are comparable to library dependencies. To use packages within custom collections, you must mark the directory\nas a **Collection Source Root**.\n\n![Mark Directory as Sources Root](img/collection_source_root.png)\n\nAfter marking a directory as a Collection Source Root, you can reference the packages it contains using the collection’s name.\n\nIn the screenshot above, the collection name is the same as the directory name. However, you can rename the collection via the **Rename Refactoring**\noption, and the corresponding references in your code will update automatically.\n\n![Rename a collection](img/rename_collection.png)\n\nIn the project view, the collection name will appear next to the directory:\n\n![Result of renaming a collection](img/rename_result_collection.png)\n\n### Import Settings from `ols.json`\n\nIf you have previously used [ols](https://github.com/DanielGavin/ols), you might have an `ols.json` file containing your LSP settings. You can import\na subset of these settings into your IntelliJ project by:\n\n1. Right-clicking the `ols.json` file.\n2. Selecting **Import OLS Config**.\n\nExample:\n\n![Import Ols config](img/import_ols_config.png)\n\nAfter the import, settings like **checker arguments** (`checker_args`), **checker paths** (`checker_paths`), and **collections** will be applied to\nyour IntelliJ project.\n\n![Result of importing Ols Config](img/import_ols_result.png)\n\n\n## Resources\n\n### Odin Language\n\nOdin is under continuous development. Stay updated with the latest news and features on the [Odin Website](https://www.odin-lang.org).\n\n### Grammar\n\nWhile creating the BNF rules for Odin, inspiration was drawn from the Go programming language.\n\n- Go Language Resources:\n  - [Grammar-Kit Grammar for Go](https://github.com/go-lang-plugin-org/go-lang-idea-plugin/blob/master/grammars/go.bnf)\n  - [ANTLR4 Grammar for Go](https://github.com/antlr/grammars-v4/blob/master/golang/)\n\nFor more details on using JetBrain's Grammar-Kit to create custom language plugins, refer to the\nofficial [Grammar-Kit documentation](https://github.com/JetBrains/Grammar-Kit/blob/master/HOWTO.md).\n\n## Important Note\n\nThis plugin is _not_ an official Odin project. It is neither affiliated with nor endorsed by the Odin team. If you encounter issues with this plugin,\nplease report them using the GitHub issue tracker for this repository, and not to the Odin team directly.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fobiwan87%2Fodin-intellij","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fobiwan87%2Fodin-intellij","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fobiwan87%2Fodin-intellij/lists"}