Git Product home page Git Product logo

discord-ij's Introduction

logo

DiscordIJ

Stars License Issues Contributors Commits
A plugin for the IntelliJ IDEA IDE that adds Discord Rich Presence support.

Installation

You can install the plugin from the JetBrains Marketplace.

Report a bug

If you find a bug, please report it to the issue tracker.

IDE ICONS

  • IntelliJ IDEA (Ultimate, Community)
  • PyCharm (Professional, Community)
  • WebStorm
  • CLION
  • GOLAND
  • RIDER
  • PHPSTORM
  • ANDROID STUDIO

If the IDE is not listed above, the fallback icon will be used.

File ICONS

  • Java
  • Kotlin
  • Rust
  • Python
  • JavaScript
  • TypeScript

If the file type is not listed above, the fallback icon will be used.

Add icons support for an IDE/File?

If you want to add icons support for an IDE/File, please submit a pull request. You need to provide a png file with 512x512 resolution and the name of the IDE/File. Also, for the file icon, unless it is a source file of a popular language, there is no need to add an icon separately, and it is enough to use the fallback icon

License

This project is licensed under the MIT License

discord-ij's People

Contributors

re-ovo avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

discord-ij's Issues

`Unhandled exception in [StandaloneCoroutine{Cancelling}@5ef0e343, Dispatchers.IO]`

One time WebStorm wouldn't start at all until I turned off Discord. Now I started with Discord enabled, but with the following error. JetBrains support replied that the problem is due to your plugin.

  Unhandled exception in [StandaloneCoroutine{Cancelling}@5ef0e343, Dispatchers.IO]
  
  java.lang.NullPointerException: Cannot invoke "java.util.List.iterator()" because the return value of "de.jcm.discordgamesdk.impl.commands.GetRelationships$Response.getRelationships()" is null
at de.jcm.discordgamesdk.RelationshipManager.lambda$new$5(RelationshipManager.java:53)
at de.jcm.discordgamesdk.Core.handleCommand(Core.java:329)
at de.jcm.discordgamesdk.Core.runCallbacks(Core.java:433)
at me.rerere.discordij.render.DiscordRPRender$init$1$1.invokeSuspend(DiscordRPRender.kt:31)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
at kotlinx.coroutines.internal.LimitedDispatcher$Worker.run(LimitedDispatcher.kt:115)
at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:100)
at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:584)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:793)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:697)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:684)
Suppressed: kotlinx.coroutines.internal.DiagnosticCoroutineContextException: [StandaloneCoroutine{Cancelled}@5ef0e343, Dispatchers.IO]

Environment:

WebStorm 2023.2.2
Build #WS-232.9921.42, built on September 12, 2023
Runtime version: 17.0.8+7-b1000.22 aarch64
VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o.
macOS 14.0

Projects is always null in JetBrains gateway client.

Hi! It seems like plugin can't get project name in the gateway client. I'm using goland and developing on remote server over ssh.
image

Cannot create listener

com.intellij.diagnostic.PluginException: Cannot create listener me.rerere.discordij.listener.ProjectListener [Plugin: me.rerere.discord-ij]
	at com.intellij.serviceContainer.ComponentManagerImpl.createListener(ComponentManagerImpl.kt:1070)
	at com.intellij.util.messages.impl.CompositeMessageBus.subscribeLazyListeners$lambda$3(CompositeMessageBus.kt:117)
	at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$executeNonCancelableSection$3(CoreProgressManager.java:222)
	at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:679)
	at com.intellij.openapi.progress.impl.CoreProgressManager.computeUnderProgress(CoreProgressManager.java:635)
	at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$computeInNonCancelableSection$4(CoreProgressManager.java:230)
	at com.intellij.openapi.progress.Cancellation.computeInNonCancelableSection(Cancellation.java:99)
	at com.intellij.openapi.progress.impl.CoreProgressManager.computeInNonCancelableSection(CoreProgressManager.java:230)
	at com.intellij.openapi.progress.impl.CoreProgressManager.executeNonCancelableSection(CoreProgressManager.java:221)
	at com.intellij.util.messages.impl.CompositeMessageBus.subscribeLazyListeners(CompositeMessageBus.kt:111)
	at com.intellij.util.messages.impl.CompositeMessageBus.doComputeSubscribers$intellij_platform_core(CompositeMessageBus.kt:92)
	at com.intellij.util.messages.impl.MessageBusImpl.computeSubscribers$intellij_platform_core(MessageBusImpl.kt:210)
	at com.intellij.util.messages.impl.CompositeMessageBus.computeSubscribers$intellij_platform_core(CompositeMessageBus.kt:87)
	at com.intellij.util.messages.impl.ToDirectChildrenMessagePublisher$publish$handlers$1.invoke(CompositeMessageBus.kt:261)
	at com.intellij.util.messages.impl.ToDirectChildrenMessagePublisher$publish$handlers$1.invoke(CompositeMessageBus.kt:261)
	at com.intellij.util.messages.impl.ToDirectChildrenMessagePublisher.publish$lambda$0(CompositeMessageBus.kt:261)
	at java.base/java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1708)
	at com.intellij.util.messages.impl.ToDirectChildrenMessagePublisher.publish$intellij_platform_core(CompositeMessageBus.kt:261)
	at com.intellij.util.messages.impl.MessagePublisher.invoke(MessageBusImpl.kt:442)
	at jdk.proxy1/jdk.proxy1.$Proxy73.projectOpened(Unknown Source)
	at com.intellij.openapi.project.impl.ProjectManagerImplKt$runInitProjectActivities$lambda$1$$inlined$useWithScope2$1.invokeSuspend(trace.kt:111)
	at com.intellij.openapi.project.impl.ProjectManagerImplKt$runInitProjectActivities$lambda$1$$inlined$useWithScope2$1.invoke(trace.kt)
	at com.intellij.openapi.project.impl.ProjectManagerImplKt$runInitProjectActivities$lambda$1$$inlined$useWithScope2$1.invoke(trace.kt)
	at kotlinx.coroutines.intrinsics.UndispatchedKt.startUndispatchedOrReturn(Undispatched.kt:89)
	at kotlinx.coroutines.BuildersKt__Builders_commonKt.withContext(Builders.common.kt:169)
	at kotlinx.coroutines.BuildersKt.withContext(Unknown Source)
	at com.intellij.openapi.project.impl.ProjectManagerImplKt$runInitProjectActivities$$inlined$launchAndMeasure$1.invokeSuspend(startUpMeasurer.kt:44)
	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
	at com.intellij.openapi.application.impl.DispatchedRunnable.run(DispatchedRunnable.kt:35)
	at com.intellij.openapi.application.TransactionGuardImpl.runWithWritingAllowed(TransactionGuardImpl.java:209)
	at com.intellij.openapi.application.TransactionGuardImpl.access$100(TransactionGuardImpl.java:21)
	at com.intellij.openapi.application.TransactionGuardImpl$1.run(TransactionGuardImpl.java:191)
	at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:831)
	at com.intellij.openapi.application.impl.ApplicationImpl$3.run(ApplicationImpl.java:456)
	at com.intellij.openapi.application.impl.FlushQueue.doRun(FlushQueue.java:79)
	at com.intellij.openapi.application.impl.FlushQueue.runNextEvent(FlushQueue.java:122)
	at com.intellij.openapi.application.impl.FlushQueue.flushNow(FlushQueue.java:41)
	at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:318)
	at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:788)
	at java.desktop/java.awt.EventQueue$3.run(EventQueue.java:739)
	at java.desktop/java.awt.EventQueue$3.run(EventQueue.java:731)
	at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
	at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:758)
	at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.kt:666)
	at com.intellij.ide.IdeEventQueue._dispatchEvent$lambda$7(IdeEventQueue.kt:570)
	at com.intellij.openapi.application.impl.ApplicationImpl.withoutImplicitRead(ApplicationImpl.java:1446)
	at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.kt:570)
	at com.intellij.ide.IdeEventQueue.access$_dispatchEvent(IdeEventQueue.kt:68)
	at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1$1.compute(IdeEventQueue.kt:349)
	at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1$1.compute(IdeEventQueue.kt:348)
	at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:787)
	at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1.invoke(IdeEventQueue.kt:348)
	at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1.invoke(IdeEventQueue.kt:343)
	at com.intellij.ide.IdeEventQueueKt.performActivity$lambda$1(IdeEventQueue.kt:994)
	at com.intellij.openapi.application.TransactionGuardImpl.performActivity(TransactionGuardImpl.java:105)
	at com.intellij.ide.IdeEventQueueKt.performActivity(IdeEventQueue.kt:994)
	at com.intellij.ide.IdeEventQueue.dispatchEvent$lambda$4(IdeEventQueue.kt:343)
	at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:831)
	at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.kt:385)
	at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:207)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:128)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:117)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:113)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:105)
	at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:92)
Caused by: com.intellij.diagnostic.PluginException: Cannot load class me.rerere.discordij.listener.ProjectListener (
  error: com/intellij/openapi/vcs/changes/shelf/ShelveChangesManager$PostStartupActivity,
  classLoader=PluginClassLoader(plugin=PluginDescriptor(name=DiscordIJ, id=me.rerere.discord-ij, descriptorPath=plugin.xml, path=~\AppData\Roaming\JetBrains\JetBrainsClient231.8109.199\plugins\discord-ij, version=1.0.6-SNAPSHOT, package=null, isBundled=false), packagePrefix=null, instanceId=9, state=active)
)
	at com.intellij.ide.plugins.cl.PluginClassLoader.loadClassInsideSelf(PluginClassLoader.kt:325)
	at com.intellij.ide.plugins.cl.PluginClassLoader.tryLoadingClass(PluginClassLoader.kt:172)
	at com.intellij.serviceContainer.ComponentManagerImplKt.doLoadClass(ComponentManagerImpl.kt:1629)
	at com.intellij.serviceContainer.ComponentManagerImplKt.access$doLoadClass(ComponentManagerImpl.kt:1)
	at com.intellij.serviceContainer.ComponentManagerImpl.createListener(ComponentManagerImpl.kt:1067)
	... 66 more
Caused by: java.lang.NoClassDefFoundError: com/intellij/openapi/vcs/changes/shelf/ShelveChangesManager$PostStartupActivity
	at java.base/java.lang.ClassLoader.defineClass2(Native Method)
	at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1103)
	at com.intellij.util.lang.UrlClassLoader.consumeClassData(UrlClassLoader.java:268)
	at com.intellij.util.lang.ZipResourceFile.findClass(ZipResourceFile.java:112)
	at com.intellij.util.lang.JarLoader.findClass(JarLoader.java:58)
	at com.intellij.util.lang.ClassPath.findClassInLoader(ClassPath.java:233)
	at com.intellij.util.lang.ClassPath.findClassWithoutCache(ClassPath.java:222)
	at com.intellij.util.lang.ClassPath.findClass(ClassPath.java:205)
	at com.intellij.ide.plugins.cl.PluginClassLoader.loadClassInsideSelf(PluginClassLoader.kt:320)
	... 70 more
Caused by: java.lang.ClassNotFoundException: com.intellij.openapi.vcs.changes.shelf.ShelveChangesManager$PostStartupActivity PluginClassLoader(plugin=PluginDescriptor(name=DiscordIJ, id=me.rerere.discord-ij, descriptorPath=plugin.xml, path=~\AppData\Roaming\JetBrains\JetBrainsClient231.8109.199\plugins\discord-ij, version=1.0.6-SNAPSHOT, package=null, isBundled=false), packagePrefix=null, instanceId=9, state=active)
	at com.intellij.ide.plugins.cl.PluginClassLoader.loadClass(PluginClassLoader.kt:150)
	at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:520)
	... 79 more

If you start Discord after IDEA, then status in Discord won't be displayed

If you start Discord after IDEA, then the status in Discord will not be displayed. It helps either restarting IDEA, which is very inconvenient when several projects are open and, for example, the server is running, or you can turn off and on the plugin, which is also not a convenient solution.

Display Mode sometimes resets

Display Mode sometimes resets. I didn't do anything special for this.

In which file are the extension settings stored?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.