echebbi / eclipse-discord-integration Goto Github PK
View Code? Open in Web Editor NEWDiscord's Rich Presence Integration within Eclipse IDE
Home Page: https://discord-rich-presence-for-eclipse-ide.readthedocs.io/en/latest/
License: Other
Discord's Rich Presence Integration within Eclipse IDE
Home Page: https://discord-rich-presence-for-eclipse-ide.readthedocs.io/en/latest/
License: Other
Hi there!
I've installed the plugin, but it doesn't show up on discord - even after a restart of both applications. What could I do?
Steps to replicate:
Solutions tried:
I don't know what else I could try, please help!
Wording can be customized from the Preferences page and several file-related variables are currently provided. It would be cool to also have access to Git-related ones when the file is versionned:
EGit likely provides an API to get those.
Hello,
I tried to install this plugin on Eclipse IDE Photon Milestone 6 but ran into a few errors. I hope you can fix them.
`
!ENTRY org.eclipse.equinox.p2.core 4 0 2018-06-10 21:54:19.996
!MESSAGE Provisioning exception
!STACK 1
org.eclipse.equinox.p2.core.ProvisionException: No repository found at http://ftp-stud.fht-esslingen.de/pub/Mirrors/eclipse/mpc/releases/1.4.2/mpc-1.4.2.zip.
at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.fail(AbstractRepositoryManager.java:395)
at sun.reflect.GeneratedMethodAccessor57.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.oomph.util.ReflectUtil.invokeMethod(ReflectUtil.java:117)
at org.eclipse.oomph.p2.internal.core.CachingRepositoryManager.fail(CachingRepositoryManager.java:353)
at org.eclipse.oomph.p2.internal.core.CachingRepositoryManager.loadRepository(CachingRepositoryManager.java:244)
at org.eclipse.oomph.p2.internal.core.CachingRepositoryManager$Metadata.loadRepository(CachingRepositoryManager.java:476)
at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:107)
at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:102)
at org.eclipse.equinox.p2.ui.LoadMetadataRepositoryJob.doLoad(LoadMetadataRepositoryJob.java:118)
at org.eclipse.equinox.p2.ui.LoadMetadataRepositoryJob.runModal(LoadMetadataRepositoryJob.java:103)
at org.eclipse.equinox.internal.p2.ui.sdk.PreloadingRepositoryHandler$1.runModal(PreloadingRepositoryHandler.java:81)
at org.eclipse.equinox.p2.operations.ProvisioningJob.run(ProvisioningJob.java:187)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60)
!SUBENTRY 1 org.eclipse.equinox.p2.metadata.repository 4 1000 2018-06-10 21:54:19.996
!MESSAGE No repository found at http://ftp-stud.fht-esslingen.de/pub/Mirrors/eclipse/mpc/releases/1.4.2/mpc-1.4.2.zip.
!ENTRY org.eclipse.equinox.p2.core 4 0 2018-06-10 21:54:20.017
!MESSAGE Provisioning exception
!STACK 1
org.eclipse.equinox.p2.core.ProvisionException: No repository found at jar:file:/C:/Users/Desktop/mpc-1.4.2.zip!/.
at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.fail(AbstractRepositoryManager.java:395)
at sun.reflect.GeneratedMethodAccessor57.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.oomph.util.ReflectUtil.invokeMethod(ReflectUtil.java:117)
at org.eclipse.oomph.p2.internal.core.CachingRepositoryManager.fail(CachingRepositoryManager.java:353)
at org.eclipse.oomph.p2.internal.core.CachingRepositoryManager.loadRepository(CachingRepositoryManager.java:244)
at org.eclipse.oomph.p2.internal.core.CachingRepositoryManager$Metadata.loadRepository(CachingRepositoryManager.java:476)
at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:107)
at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:102)
at org.eclipse.equinox.p2.ui.LoadMetadataRepositoryJob.doLoad(LoadMetadataRepositoryJob.java:118)
at org.eclipse.equinox.p2.ui.LoadMetadataRepositoryJob.runModal(LoadMetadataRepositoryJob.java:103)
at org.eclipse.equinox.internal.p2.ui.sdk.PreloadingRepositoryHandler$1.runModal(PreloadingRepositoryHandler.java:81)
at org.eclipse.equinox.p2.operations.ProvisioningJob.run(ProvisioningJob.java:187)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60)
!SUBENTRY 1 org.eclipse.equinox.p2.metadata.repository 4 1000 2018-06-10 21:54:20.017
!MESSAGE No repository found at jar:file:/C:/Users/Desktop/mpc-1.4.2.zip!/.
!ENTRY org.eclipse.equinox.p2.core 4 0 2018-06-10 21:54:22.659
!MESSAGE Provisioning exception
!STACK 1
org.eclipse.equinox.p2.core.ProvisionException: No repository found at http://www.eclipse.org/downloads/download.php?file=/mpc/releases/1.4.2/mpc-1.4.2.zip&mirror_id=1.
at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.fail(AbstractRepositoryManager.java:395)
at sun.reflect.GeneratedMethodAccessor57.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.oomph.util.ReflectUtil.invokeMethod(ReflectUtil.java:117)
at org.eclipse.oomph.p2.internal.core.CachingRepositoryManager.fail(CachingRepositoryManager.java:353)
at org.eclipse.oomph.p2.internal.core.CachingRepositoryManager.loadRepository(CachingRepositoryManager.java:244)
at org.eclipse.oomph.p2.internal.core.CachingRepositoryManager$Metadata.loadRepository(CachingRepositoryManager.java:476)
at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:107)
at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:102)
at org.eclipse.equinox.p2.ui.LoadMetadataRepositoryJob.doLoad(LoadMetadataRepositoryJob.java:118)
at org.eclipse.equinox.p2.ui.LoadMetadataRepositoryJob.runModal(LoadMetadataRepositoryJob.java:103)
at org.eclipse.equinox.internal.p2.ui.sdk.PreloadingRepositoryHandler$1.runModal(PreloadingRepositoryHandler.java:81)
at org.eclipse.equinox.p2.operations.ProvisioningJob.run(ProvisioningJob.java:187)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60)
!SUBENTRY 1 org.eclipse.equinox.p2.metadata.repository 4 1000 2018-06-10 21:54:22.659
!MESSAGE No repository found at http://www.eclipse.org/downloads/download.php?file=/mpc/releases/1.4.2/mpc-1.4.2.zip&mirror_id=1.
!ENTRY org.eclipse.equinox.p2.ui 4 0 2018-06-10 21:55:20.069
!MESSAGE No such member: attributes
!STACK 0
java.lang.IllegalArgumentException: No such member: attributes
at org.eclipse.equinox.internal.p2.metadata.ProvidedCapability.getMember(ProvidedCapability.java:154)
at org.eclipse.equinox.internal.p2.metadata.expression.Member$DynamicMember.invoke(Member.java:48)
at org.eclipse.equinox.internal.p2.metadata.expression.Member$DynamicMember.evaluate(Member.java:43)
at org.eclipse.equinox.internal.p2.metadata.expression.Matches.evaluate(Matches.java:37)
at org.eclipse.equinox.internal.p2.metadata.expression.And.evaluate(And.java:27)
at org.eclipse.equinox.internal.p2.metadata.expression.Unary.evaluate(Unary.java:46)
at org.eclipse.equinox.internal.p2.metadata.expression.Exists.evaluate(Exists.java:30)
at org.eclipse.equinox.internal.p2.metadata.expression.CollectionFilter.evaluate(CollectionFilter.java:62)
at org.eclipse.equinox.internal.p2.metadata.expression.MatchExpression.evaluate(MatchExpression.java:48)
at org.eclipse.equinox.p2.query.ExpressionMatchQuery.isMatch(ExpressionMatchQuery.java:100)
at org.eclipse.equinox.p2.query.ExpressionMatchQuery.perform(ExpressionMatchQuery.java:86)
at org.eclipse.equinox.p2.query.ExpressionMatchQuery.perform(ExpressionMatchQuery.java:75)
at org.eclipse.equinox.internal.p2.metadata.index.IndexProvider.query(IndexProvider.java:23)
at org.eclipse.equinox.internal.p2.metadata.index.IndexProvider.query(IndexProvider.java:33)
at org.eclipse.equinox.internal.p2.director.Slicer.expandRequirement(Slicer.java:183)
at org.eclipse.equinox.internal.p2.director.Slicer.processIU(Slicer.java:146)
at org.eclipse.equinox.internal.p2.director.Slicer.slice(Slicer.java:65)
at org.eclipse.equinox.internal.p2.director.SimplePlanner.getSolutionFor(SimplePlanner.java:332)
at org.eclipse.equinox.internal.p2.director.SimplePlanner.getProvisioningPlan(SimplePlanner.java:389)
at org.eclipse.equinox.internal.p2.operations.PlannerResolutionJob.runModal(PlannerResolutionJob.java:77)
at org.eclipse.equinox.p2.operations.ProfileChangeOperation.resolveModal(ProfileChangeOperation.java:115)
at org.eclipse.equinox.internal.p2.ui.dialogs.ProvisioningOperationWizard.lambda$1(ProvisioningOperationWizard.java:275)
at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:119)
!ENTRY org.eclipse.equinox.p2.ui 4 0 2018-06-10 21:55:20.073
!MESSAGE Unexpected error
!ENTRY org.eclipse.equinox.p2.operations 4 0 2018-06-10 21:55:20.076
!MESSAGE Operation details
!SUBENTRY 1 org.eclipse.equinox.p2.operations 4 10001 2018-06-10 21:55:20.076
!MESSAGE Your original request has been modified.
!SUBENTRY 2 org.eclipse.equinox.p2.operations 4 0 2018-06-10 21:55:20.076
!MESSAGE Unexpected Error. Could not process the request. Check the error log for details.
!ENTRY org.eclipse.equinox.p2.operations 4 0 2018-06-10 21:55:20.084
!MESSAGE Operation details
!SUBENTRY 1 org.eclipse.equinox.p2.operations 4 10001 2018-06-10 21:55:20.084
!MESSAGE Your original request has been modified.
!SUBENTRY 2 org.eclipse.equinox.p2.operations 4 0 2018-06-10 21:55:20.084
!MESSAGE Unexpected Error. Could not process the request. Check the error log for details.
`
This is what it looks like on discord
I am also using Windows 10. Not sure why this is occurring because it worked the first day I got it, but now when I open Eclipse IDE this is how it shows up (and I didn't change any settings or whatever after I first got this discord integration).
Thanks in advance
Bugs faced by users can be hard to reproduce and debug. A solution is needed to determine more easily what causes the issue.
Preferences should allow to activate a "debug" mode that prints more details about what is going in the Console or Error Log view.
A log file could also be created to keep track of events.
Ideally, I'd like to use AspectJ to print all the logs as I believe that AOP is a perfect fit for this kind of need. However, it can be a bit touchy to use it in an Eclipse RCP environment. I think that I managed to use it in EKumi (https://github.com/echebbi/ekumi/tree/aspectj) so it can be a good starting point.
I think it would be cool if there was an option we could enable, that showed the class we are viewing even if its a library/dependency. Maybe instead of editing x.java it could be viewing x.java.
How to reproduce:
Apply
.Sometimes, only one of the change is reflected in Discord. Sometimes, all the changes are applied, but one by one.
It seems that changes in Preferences are well handled ; to be checked, but if it do is the case the issue is likely caused by one of the following:
I have a problem when I try to download the Discord Rich Presence by any means, I have an error, "The software installation encountered a problem. An error occurred during the org.eclipse.equinox .internal.p2.engine .phases.Verify trust phase. " I tried to reinstall eclispe and java, nothing helped.
Hey, I'm in the latest version of Eclipse, I downloaded the plugin but I don't have the plugin settings in "Preferences" and the Rich Presence doesn't display on Discord
UI code is currently not tested.
SWTBot should be used to ensure that interfaces work as expected.
Currently, even when the plug-in has been disabled in the Preferences page, all the fields remain activated:
Disabling them would make clear that the plug-in do is disabled and would thus improve UX.
I think that this can be done entirely in DiscordIntegrationPreferencesPage and that the code should not be very complicated. Likely something like that:
showRichPresence.getPreferenceStore()
.addPropertyChangeListener(event -> {
boolean presenceIsActivated = (boolean) event.getNewValue();
showFileName.setEnabled(presenceIsActivated, null);
// more code
});
By default, informations are shown on Discord with the following format:
Editing <file_name>
Working on <project_name>
However it may not suit every need. It is possible to override it thanks to the fr.kazejiyu.discord.rpc.integration.editor_input_adapter
extension point but that's not convenient at all:
DefaultURIEditorInputRichPresence
and DefaultFileEditorInputRichPresence
should be updated to take these new preferences into accountIt looks like no icon appears on the rich presence when we open an xml file in eclipse.
It would be cool to add one or fix the bug if one is supposed to show up but doesn't
The rpc does not show up on Discord
I expected it to show up on Discord (after Discord restart, Eclipse restart and adding eclipse as a game, and it still doesn't show up, the plugin is also fully updated)
Steps to reproduce the behavior:
A page should be added to Eclipse IDE's preferences in order to let the user the possiblity to customize the behavior of the plug-in.
For instance, he should be able to select a message to display on Discord no matter which part is selected, to ignore certain file extensions, etc.
I get the following error:
Unable to read repository at https://echebbi.github.io/eclipse-discord-integration-updates/releases/1.2.2/content.xml.
sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
When i try to download other extensions this error doesnt occur.
An option to only show that you work on a file but not the names etc.
Whenever I try and install this, i get a Framework error in the Eclipse error log.
Also, there is not section for Discord Rich Presence in the project properties window
org.osgi.framework.BundleException: Could not resolve module: fr.kazejiyu.discord.rpc.integration.ui.preferences [483]
Unresolved requirement: Require-Bundle: fr.kazejiyu.discord.rpc.integration; bundle-version="0.8.3"
-> Bundle-SymbolicName: fr.kazejiyu.discord.rpc.integration; bundle-version="1.2.0"; singleton:="true"
fr.kazejiyu.discord.rpc.integration [481]
Unresolved requirement: Require-Bundle: java-discord-rpc; bundle-version="[2.0.0,3.0.0)"
at org.eclipse.osgi.container.Module.start(Module.java:462)
at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel$2.run(ModuleContainer.java:1844)
at org.eclipse.osgi.internal.framework.EquinoxContainerAdaptor$1$1.execute(EquinoxContainerAdaptor.java:136)
at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1837)
at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1778)
at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1742)
at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1664)
at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1)
at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:234)
at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:345)
It installs and works
Steps to reproduce the behavior:
Since I installed this it keeps giving me this error on startup:
`An internal error occurred during: "Workbench early startup".
There is an incompatible JNA native library installed on this system
Expected: 5.1.0
Found: 4.0.1`
I'm using the latest Eclipse Photon
I tried updating my Java but that didn't help.
EDIT: I'm on Windows 10 64-bit
Thanks
Does not work with snap version of eclipse. Tried my own API key, along with adding eclipse manually. Doesn't show the rich presence
It works
Steps to reproduce the behavior:
How to reproduce:
Discord Rich Presence
tabUse project settings
Apply
Restore Defaults
The button Use workspace settings
is checked again but the fields specifying project properties are still enabled.
The counter restart to zero when he reach one day
This plugin is currently impossible to install with Eclipse both via Marketplace and P2.
The reason for this is because the URL "https://dl.bintray.com/kazejiyu/eclipse-discord-integration/" returns "Forbidden!" when visited and therefore Eclipse cannot access the necessary files.
Installing the plugin via Marketplace or P2 works correctly
An error occurs because the files cannot be accessed.
Steps to reproduce the behavior:
This should be easy to fix I assume since it seems to just be an issue with access settings on bintray.
o/
I am using a older version of Eclipse (Neon) which is just outside of the Discord Rich Presence range of supported versions.
I know this version is very old. But I had this plugin once installed and then had to reinstall my entire eclipse instance because it was broken beyond repair (this is not due to age).
And this plugin is no longer downloadable for whatever reason.
What I am asking are there older versions of this plugin still accessible somehow?
I am not asking that you make it neon compatible, but show me a way to install older versions.
I already tried my google foo and typing in older version numbers to downgrade. But it just doesn't find older versions.
Would be nice if you could help.
Trying to install the plug-in on an Eclipse older than Oxygen always leads to a failure.
However, the plug-in doesn't use any feature specific to Oxygen and should hence be available for previous versions.
This issue should be fixed by modifying dependencies' version in order to require a version range instead of a specific version.
When Discord is launched after Eclipse IDE it is not notified when the selected editor changes.
This is because the connection with Discord is initiated only once: at Eclipse IDE startup.
The issue could be solved by:
We have to work with a lot of .xml and .jsp files in Java EE development ( You're professional you'll know ) . Please add the icons for both of these .
Originally ask by @xlpmC in #48.
When developping in C++ it can happen that developers use the .h extension to define C++ headers. As a consequence, since the language is determined by the extension of the file, Discord always shows Programming in C while the actual programming language is C++.
It would be convenient to add an option to project Properties page allowing the developer to specify that the language used in this project is C++ even if the files have the .h extension.
My rich preserence didn't change when i move to another class or project, it always stuck on the first class i opened
The plugin does not work for me, even if i restart Eclipse and reinstall the plugin, restart and reinstall discord, or even add Eclipse manually.
All i see is https://www.imgup.cz/images/2018/07/02/Snimek-z-2018-07-02-23-43-14.png
How to reproduce:
For some reason, the page is not shown when the project owns the PyDev nature. I have no clue on how to solve this at the moment.
Even if an editor is opened when Eclipse IDE is launched, no information is shown in Discord.
Currently, the only way to get Discord updated is to change the active editor in Eclipse IDE.
On startup, the Eclipse Discord Integration plug-in should look for the active editor and, if one is found, it should send corresponding information to Discord.
Eclipse IDE not showing in discord profile card on fedora linux (workstation 36) and doesn't appear in games list either.
Display "Eclipse IDE" as well as the file being edited and the project
Steps to reproduce the behavior:
when I close eclipse I get that in my discord game that I'm playing Eclipse when I've already closed it, I checked the windows task manager and it goes out an open eclipse process, it does not close completely when leaving, please fix it <3
The option to remove rich presence if you stopped editing the code or were tabbed out of eclipse for 5-10 minutes and have it re-enabled when you're actively working on the file again would be a great feature to add.
Current technical documentation does not provide enough details about how the plug-in is architected, how events are handled, etc.
Explain such topics in depth would help possible contributors.
I just published a more detailed user documentation:
The Contribute to the plug-in
part should be improved with details about plug-in's internals.
In the rich presence on Discord, I see "Editing ?" if I have disabled the option "Show file name".
The line "Editing x" should be completely hidden if this option is disabled.
Steps to reproduce the behavior:
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.