{"id":16810557,"url":"https://github.com/nazmulidris/idea-plugin-example","last_synced_at":"2025-04-11T01:37:36.026Z","repository":{"id":89355434,"uuid":"205620862","full_name":"nazmulidris/idea-plugin-example","owner":"nazmulidris","description":"JetBrains IDEA plugin pedagogical example w/ testing","archived":false,"fork":false,"pushed_at":"2024-10-12T23:42:56.000Z","size":246,"stargazers_count":31,"open_issues_count":1,"forks_count":11,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-03-24T22:51:12.412Z","etag":null,"topics":["jetbrains-plugin","kotlin","testing"],"latest_commit_sha":null,"homepage":"https://developerlife.com/2019/08/25/idea-plugin-example-intro/","language":"Kotlin","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/nazmulidris.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"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},"funding":{"github":"nazmulidris","patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"custom":null}},"created_at":"2019-09-01T02:45:34.000Z","updated_at":"2024-12-13T06:58:59.000Z","dependencies_parsed_at":null,"dependency_job_id":"130f2c20-f62d-43f6-b641-e2a98b4111d8","html_url":"https://github.com/nazmulidris/idea-plugin-example","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nazmulidris%2Fidea-plugin-example","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nazmulidris%2Fidea-plugin-example/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nazmulidris%2Fidea-plugin-example/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nazmulidris%2Fidea-plugin-example/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nazmulidris","download_url":"https://codeload.github.com/nazmulidris/idea-plugin-example/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248326417,"owners_count":21085097,"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":["jetbrains-plugin","kotlin","testing"],"created_at":"2024-10-13T10:15:48.758Z","updated_at":"2025-04-11T01:37:36.018Z","avatar_url":"https://github.com/nazmulidris.png","language":"Kotlin","funding_links":["https://github.com/sponsors/nazmulidris"],"categories":[],"sub_categories":[],"readme":"# Learn more about IDEA Plugin Development\n\nThis repo is a pedagogical example of an IDEA plugin. To learn more about plugins please read the\ntutorial that accompanies this code example on developerlife.com -\n[Introduction to creating IntelliJ IDEA plugins](http://localhost:4000/2020/11/20/idea-plugin-example-intro/).\n\n# Running the project\n\n## LogService and PersistentStateComponent\n\nTo find the IDEA log look at the `$PROJECT_DIR/build/idea-sandbox/system/log /idea.log` file. A\nsimple command to do this (from the project directory) is:\n\n```shell script\nfind . -name \"idea.log\" | xargs tail -f | grep MyPlugin\n```\n\nTo find the `\"logServiceData.xml\"` take a look at the\n`$PROJECT_DIR/build /idea-sandbox/config/options/logServiceData.xml` file. A simple command to do\nthis (from the project directory) is:\n\n```shell script\nfind . -name \"logServiceData.xml\" | xargs subl -n\n```\n\nAlso, to delete this file, if it gets too big:\n\n```shell script\nfind . -name \"logServiceData.xml\" | xargs rm\n```\n\n# References\n\nGetting started w/ writing your first plugin\n\n- [Writing your first plugin](https://tinyurl.com/y67ygovg)\n- [Organizing and using icons in plugins](https://tinyurl.com/y33rbxst)\n- [github issues thread on IDEA icons](https://tinyurl.com/yxe8yhxt)\n- [List of default icons in IDEA, AllIcons.java](https://tinyurl.com/y4nh4nwu)\n- [IDEA plugin services and components](https://tinyurl.com/y4n4l4wd)\n  - [github repo for plugin component \u0026 service](https://tinyurl.com/y6o9dlhb)\n- [Details about actions](https://tinyurl.com/yxaoflp6)\n- [JetBrains official code samples for plugins](https://tinyurl.com/y69ufr68)\n\nExtension Points and extensions\n\n- [IDEA docs on extensions and extension points](https://tinyurl.com/y6a4xafo)\n\nServices\n\n- [IDEA docs on services](https://tinyurl.com/yy9tsyq7)\n\nNotifications\n\n- [IDEA docs on Notifications](https://tinyurl.com/yxkvn4ad)\n- [Code samples](https://tinyurl.com/y45xww6m)\n- [Code samples](https://tinyurl.com/y4zd6t5q)\n\nLogging\n\n- [How to log in IDEA](https://tinyurl.com/y2bll4ph)\n\nTutorials on writing plugins\n\n- [Simple custom dictionary loader plugin](https://tinyurl.com/y2n8ymsh)\n  - [github repo for this](https://tinyurl.com/y3c4tmyu)\n- [Simple stackoverflow lookup plugin](https://tinyurl.com/y336wul6)\n  - [github repo for this](https://tinyurl.com/y5xwytfj)\n\nIcons\n\n- [Material Design Icons](https://tinyurl.com/y4op6mnt)\n- [SVG resizing](https://tinyurl.com/y6mzgofw)\n\nGit\n\n- [Rebase feature branch to master](https://tinyurl.com/md6v2oc)\n\n# Change master to main (2020-07-16)\n\nThe\n[Internet Engineering Task Force (IETF) points out](https://tools.ietf.org/id/draft-knodel-terminology-00.html#rfc.section.1.1.1)\nthat \"Master-slave is an oppressive metaphor that will and should never become fully detached from\nhistory\" as well as \"In addition to being inappropriate and arcane, the\n[master-slave metaphor](https://github.com/bitkeeper-scm/bitkeeper/blob/master/doc/HOWTO.ask?WT.mc_id=-blog-scottha#L231-L232)\nis both technically and historically inaccurate.\" There's lots of more accurate options depending on\ncontext and it costs me nothing to change my vocabulary, especially if it is one less little speed\nbump to getting a new person excited about tech.\n\nYou might say, \"I'm all for not using master in master-slave technical relationships, but this is\nclearly an instance of master-copy, not master-slave\"\n[but that may not be the case](https://mail.gnome.org/archives/desktop-devel-list/2019-May/msg00066.html).\nTurns out the original usage of master in Git very likely came from another version control system\n(BitKeeper) that explicitly had a notion of slave branches.\n\n- https://dev.to/lukeocodes/change-git-s-default-branch-from-master-19le\n- https://www.hanselman.com/blog/EasilyRenameYourGitDefaultBranchFromMasterToMain.aspx\n\n[#blacklivesmatter](https://blacklivesmatter.com/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnazmulidris%2Fidea-plugin-example","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnazmulidris%2Fidea-plugin-example","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnazmulidris%2Fidea-plugin-example/lists"}