{"id":28440314,"url":"https://github.com/haxefoundation/intellij-haxe","last_synced_at":"2026-04-26T23:00:37.800Z","repository":{"id":13866729,"uuid":"16564608","full_name":"HaxeFoundation/intellij-haxe","owner":"HaxeFoundation","description":"Haxe plugin for IntelliJ Platform based IDEs (IDEA, Android-Studio)","archived":false,"fork":false,"pushed_at":"2026-04-07T21:41:57.000Z","size":37812,"stargazers_count":229,"open_issues_count":235,"forks_count":104,"subscribers_count":29,"default_branch":"develop","last_synced_at":"2026-04-20T19:36:18.220Z","etag":null,"topics":["android-studio","debugger","haxe","haxe-plugin","ide","idea","idea-plugin","intellij"],"latest_commit_sha":null,"homepage":"http://intellij-haxe.org","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/HaxeFoundation.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.txt","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,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2014-02-06T01:06:24.000Z","updated_at":"2026-04-19T07:41:30.000Z","dependencies_parsed_at":"2024-02-19T22:46:48.127Z","dependency_job_id":"177dce8c-a013-44e3-9358-a799860f7cb1","html_url":"https://github.com/HaxeFoundation/intellij-haxe","commit_stats":null,"previous_names":[],"tags_count":249,"template":false,"template_full_name":null,"purl":"pkg:github/HaxeFoundation/intellij-haxe","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HaxeFoundation%2Fintellij-haxe","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HaxeFoundation%2Fintellij-haxe/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HaxeFoundation%2Fintellij-haxe/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HaxeFoundation%2Fintellij-haxe/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/HaxeFoundation","download_url":"https://codeload.github.com/HaxeFoundation/intellij-haxe/tar.gz/refs/heads/develop","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HaxeFoundation%2Fintellij-haxe/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32315712,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-26T21:09:39.134Z","status":"ssl_error","status_checked_at":"2026-04-26T21:09:21.240Z","response_time":129,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["android-studio","debugger","haxe","haxe-plugin","ide","idea","idea-plugin","intellij"],"created_at":"2025-06-06T03:39:33.694Z","updated_at":"2026-04-26T23:00:37.794Z","avatar_url":"https://github.com/HaxeFoundation.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"Haxe plugin for Intellij IDEA and Android Studio\n======================================\n\nThis plugin allows you to develop multi-platform programs using the [Haxe](http://haxe.org/) language with [Intellij IDEA](http://www.jetbrains.com/idea), [Android Studio](https://developer.android.com/studio/) and other IntelliJ IDEA-based IDEs by JetBrains.\nIt requires Intellij IDEA Ultimate or Community Edition 2023 or later, or Android Studio Giraffe or later\n\n#### Technical Support\nSupport for this plugin is available through the project's home page: [http://intellij-haxe.org](http://intellij-haxe.org), or\nthe github issues list [http://github.com/HaxeFoundation/intellij-haxe/issues](http://github.com/HaxeFoundation/intellij-haxe/issues).\n\n#### Past Versions Announcement\n\nVery, very few users are continuing to use this plugin with older versions of IDEA. \nMaintaining a code base that can compile to multiple versions is also a lot of work.\nits therefore been decided that from now on we will only target one version in develop branch but make maintenance branches for older versions so that  important fixes can be backported.\n\nIf you for some reason need to compile one of the old versions that was part of the multi-version code base you can still find it on the `legacy/develop` branch.  \n\nInstall\n-------\n\n*JetBrains' official plugin installation documentation is at [https://www.jetbrains.com/idea/plugins/](https://www.jetbrains.com/idea/plugins/).\nThe Haxe plugin page is [https://plugins.jetbrains.com/plugin/6873?pr=idea](https://plugins.jetbrains.com/plugin/6873?pr=idea).*\n\n### To install using IDEA (from Intellij plugin repository):\n\nInstall and start IDEA.  It is found at [https://www.jetbrains.com/idea](https://www.jetbrains.com/idea)\n\nIf you do not have a project open in IDEA (and after first-time setup):\n- On the IDEA welcome screen, select \"Configure(dropdown)-\u003ePlugins\"\n- Click on the \"Browse Repositories...\" button.\n- Type 'haxe' to see the description for the plugin.\n- Select 'Install' to install it.\n- Allow IDEA to restart and initialize the plugin.\n\nIf you already have a project open in IDEA:\n- Open the Settings dialog (File-\u003eSettings...)\n- Highlight \"Plugins\" in the leftmost column\n- Click on the \"Browse Repositories...\" button.\n- Type 'haxe' to see the description for the plugin.\n- Select 'Install' to install it.\n- Allow IDEA to restart and initialize the plugin.\n\n### To manually install the latest or a previous Github release\n\nDownload the `intellij-haxe.jar` file from the release you want from [Github releases](https://github.com/HaxeFoundation/intellij-haxe/releases).\nMore recent releases have begun to be named `intellij-haxe-\u003crelease\u003e.jar`, where \u0026lt;release\u0026gt; is the version of Idea for which the Jar is built.  (e.g. `intellij-haxe-2022.3.jar`)\nMake sure that you pick the proper one for your release.  A message should pop up and warn you if a release is incompatible.\n\nIf you do not yet have a project open in IDEA (and after first-time setup):\n- On the IDEA welcome screen, select \"Configure(dropdown)-\u003ePlugins\"\n- Click “Install plugin from disk...”\n- Select the “intellij-haxe.jar” file you downloaded\n- Allow IDEA to restart and initialize the plugin.\n\nIf you already have a project open IDEA:\n- Open the Settings dialog (File-\u003eSettings...)\n- Highlight \"Plugins\" in the leftmost column\n- Click “Install plugin from disk...”.  On 2019.x versions or later, click on the settings (gear) icon to see the \"Install from disk...\" menu item.\n- Select the `intellij-haxe-\u003cversion\u003e.jar` file you downloaded\n- Allow IDEA to restart and initialize the plugin.\n\nBuild\n-----\nNote that installation as described above installs a fully built version of the plugin (the .jar file).  Most users do not have to\nbuild the product for themselves.  This section is for those who like to dig a little deeper.\n\nThis describes the command line build.  To build from within Intellij IDEA itself, see the [contributing](CONTRIBUTING.md) document to setup\nyour development environment.  Much more detail is provided there for command line build options as well.\n\n### Dependencies\n- OpenJDK 17\n- A windows command prompt or bash compatible shell\n\n### Build command\nWindows\n```\ngradlew.bat clean build verifyPlugin \n```\nMac/Linux\n```\n./gradlew clean build verifyPlugin \n```\n\n\u003eNOTE: You can run the build without tests by substituting `build` with `buildPlugin` on the lines above\n\nThis will generate a `intelllij-haxe-\u003crelease\u003e.jar` file at the root of the project that you can then install from disk\n(see “Install the latest or a previous Github release).\n\n\nNote that the first time you build the project Gradle will download the requested version of IntelliJ Ultimate and \nany other other dependencies. This can be quite slow at times and prone to failure.  For repeated building and testing,\nwe recommended that you set up your machine as described in the [contributing document](CONTRIBUTING.md). \n\nTest\n----\n\n### Dependencies\nSame as for build.\n\n### Test command\nWindows\n```\ngradlew.bat test\n```\nMac/Linux\n```\n./gradlew test\n```\nThis will build and run the tests and display the JUnit report.   \n\nUse the hxcpp debugger\n----------------------\n\n*NOTE: IDEA Community Edition currently will not start an IDE-based debugging session.  For that,\nIDEA Ultimate is required.  Command-line debugging is available because that is a feature\nof the Haxe language itself.  See the hxcpp-debugger project for more information.*\n\nThe hxcpp debugger functionality conforms to the\nHaxe v3.0 debugger.  In order to use this, you must:\n\n- Install the *VERSION 1.1* debugger haxelib from [https://github.com/HaxeFoundation/hxcpp-debugger/tree/protocol_v1.1](https://github.com/HaxeFoundation/hxcpp-debugger/tree/protocol_v1.1).\n  The hxcpp-debugger that is installed via 'haxelib install' is generally\n  not the latest or best working version. (The Haxe Foundation maintainers\n  do not release regular updates for it). Instead, get the current sources\n  locally: Install git and clone the repository from\n  [http://github.com/HaxeFoundation/hxcpp-debugger](http://github.com/HaxeFoundation/hxcpp-debugger)\n  and install via\n  ```\n  haxelib git hxcpp-debugger \u003cyour_local_clone\u003e protocol_v1.1\n  ```\n  Then, you'll have the version\n  that matches the plugin. Whenever you need to update the debugger to\n  the latest sources, do a 'git pull' and then rebuild your app.\n- Re-build your project using this newest debugger haxelib.\n- Configure your haxe program to start the debugger when the following\n  command line option is provided:\n\n  ```\n  -start_debugger\n  ```\n  If you expect to do remote debugging, you'll also have to support:\n\n  ```\n  -debugger_host=[host]:[port]\n  ```\n\n  Most likely you'll just want to add the following in your main() when\n  `-start_debugger` is set:\n    \n  ```haxe\n  new debugger.HaxeRemote(true, host, port);\n  ```\n\n  Generally speaking, the build/debug configuration (Run-\u003eEdit Configurations)\n   is set up to use port 6972, so you can probably cheat and use:\n\n  ```haxe\n  new debugger.HaxeRemote(true, \"localhost\", 6972);\n  ```\n\n  However, the line has to match your debug settings. Fortunately, they are\n  passed to your program on the command line. Notice the\n  \"-start_debugger -debugger_host=localhost:6972\" passed to haxelib:\n  ```\n  C:/HaxeToolkit/haxe/haxelib.exe run lime run C:/temp/issue349/openfl_cpp_debug/openfl_cpp_debug/project.xml\n    windows -verbose -Ddebug -debug -args  -start_debugger -debugger_host=localhost:6972\n  ```\nYour program should now:\n1) Look for the '-start_debugger' parameter before doing anything. It won't\n be there if the program is being started via the \"Run\" command from IDEA.\n2) Parse the '-debugger_host=' parameter.  If it exists,\n then a remote controller (e.g. IDEA) will be trying to connect on that port.\n If it doesn't exist, then the user (you) probably want to start the command\n line debugger:\n  ```haxe\n  new debugger.Local(true);\n  ```\n\nHere's a snippet you can use: (Thanks to @isBatak)\n  ```haxe\n  #if (debug \u0026\u0026 cpp)\n    var startDebugger:Bool = false;\n    var debuggerHost:String = \"\";\n    var argStartDebugger:String = \"-start_debugger\";\n    var pDebuggerHost:EReg = ~/-debugger_host=(.+)/;\n\n    for (arg in Sys.args()) {\n      if(arg == argStartDebugger){\n        startDebugger = true;\n      }\n      else if(pDebuggerHost.match(arg)){\n        debuggerHost = pDebuggerHost.matched(1);\n      }\n    }\n\n    if(startDebugger){\n      if(debuggerHost != \"\") {\n        var args:Array\u003cString\u003e = debuggerHost.split(\":\");\n        new debugger.HaxeRemote(true, args[0], Std.parseInt(args[1]));\n      }\n      else {\n        new debugger.Local(true);\n      }\n    }\n  #end\n  ```\n\nContribute\n----------\nSee the [contributing document](CONTRIBUTING.md).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhaxefoundation%2Fintellij-haxe","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhaxefoundation%2Fintellij-haxe","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhaxefoundation%2Fintellij-haxe/lists"}