28

Is there a way I can uninstall Mylyn from Eclipse PDT. It comes pre-installed and I don't think I am going to use it. So I want to take all the additional plugins out of my eclipse copy as my IDE is already running sluggishly.

Rajat
  • 32,970
  • 17
  • 67
  • 87
  • 1
    why bother uninstalling it? I don't think it makes Eclipse too heavy.. – Bozho Dec 03 '09 at 06:44
  • 9
    @Bozho I've just proved that a *virgin* Eclipse 4 installation (latest Eclipse) is hard-crashing 100% repeatably because of bugs in Mylyn - no-one on the team uses Mylyn, it MASSIVELY slows down Eclipse (on quad-core machines with 16-24 GB RAM), and ... it verifiably crashes projects. (Complete re-install of Eclipse - can NEVER startup, due to Mylyn internal bugs) – Adam Apr 05 '13 at 17:24

5 Answers5

20

The uninstall process is explained in the Mylyn FAQ

We recommend uninstalling in Eclipse via the Help → Software Updates → Manage Configuration dialog. If you get an error message when trying to uninstall, you will need to first uninstall dependencies that use Mylyn. These include things like the Subclipse Mylyn integration and the Bugzilla Connector.

You can also uninstall manually by deleting all of the Mylyn plug-ins and features from the eclipse/plugins and eclipse/features directory make sure to delete all of the plug-ins and then restart Eclipse with the -clean option (e.g. by inserting it into a shortcut or the eclipse.ini file.


Recent versions of Eclipse might not allow uninstalling mylyn: see bug 327157:

I am sorry to hear that you wish to uninstall Mylyn. It is correct that most packages provided by Eclipse only have a single root feature and do allow individual components to be uninstalled.

I can assure you that Mylyn has an negligible impact on Eclipse if it is not used. If you follow the following steps none of the Mylyn plugins will get loaded on startup:

  • Close the Task LIst view,
  • Disable Mylyn Tasks UI and Mylyn Team UI under General > Startup and Shutdown

Additionally, you can remove Mylyn UI contributions under General > Capabilities by disabling the Tasks category (not all Eclipse packages provide that option).

Alternatively, you can use an Eclipse package such as the SDK that does not include Mylyn by default. Eclipse also provides a bare-bones RCP download that only has required components which can be extended as needed.

That means a manual uninstall as documented by Dawid Drozd is the only option:

Community
  • 1
  • 1
VonC
  • 1,262,500
  • 529
  • 4,410
  • 5,250
  • 1
    This doesn't seem to be possible in Indigo. Going to Help > About Eclipse > Installation details > Installed Software tab, the "Uninstall..." button is disabled for anything you didn't specifically install yourself. Looks like you're stuck with Mylin, whether you need it or not. – Amos M. Carpenter Apr 04 '14 at 06:24
  • @AmosM.Carpenter true... looks like https://bugs.eclipse.org/bugs/show_bug.cgi?id=327157 offers some advices. – VonC Apr 04 '14 at 06:44
  • Thanks, I'd tried disabling the two Mylin plugins at startup, but not removing its UI contributions from Preferences > General > Capabilities, so I'll definitely give that a try on Monday. – Amos M. Carpenter Apr 05 '14 at 10:07
11

When Mylyn is not being used (i.e., no Mylyn views open and no active task) it should not effect performance in any way. If it is causing you performance problems please file a bug, as:

The Mylyn team considers any speed or memory performance overhead from Mylyn to be a critical bug. Please file a bug report: http://eclipse.org/mylyn/support/

If you want to speedup your startup without uninstalling Mylyn, since uninstalling plugins in Eclipse can be tedious, open Window -> Preferences -> General -> Startup and Shutdown and uncheck the Mylyn features.

  • 2
    Regarding Mylin not affecting (with an A) performance unless a Mylin view is open, it _still_ kicks in in my case (I've never used it and close any of its task lists whenever I set up a new workspace) as it seems to hook into the code completion for some reason. Every now and again when my work machine is busy, code completion will show a mylin error message. +1 for the tip on disabling it at startup though. – Amos M. Carpenter Apr 04 '14 at 06:27
  • 2
    I can only speak for Eclipse Luna (4.4.1), but disabling the Mylyn features at startup as suggested won't actually stop it from loading e.g. `org.eclipse.mylyn.tasks.ui` on startup. I wonder what it actually does, then. – zb226 Feb 17 '15 at 12:06
10

Source: http://blog.sarathonline.com/2012/05/eclipse-indigo-without-mylyn.html

For me works great.

#cd path-to-eclipse installation
#prep
 mkdir disabled disabled/features disabled/plugins

#remove mylyn
 mv plugins/*mylyn* disabled/plugins/
 mv features/*mylyn* disabled/features/

#remove cvs
 mv features/*cvs* disabled/features/
 mv plugins/*cvs* disabled/plugins/

#remove windows builder
 mv plugins/*.wb.* disabled/plugins/
 mv features/*.wb.* disabled/features/

#if svn is used, git may not be necessary; However, there is little harm keeping it
 mv features/*egit.* disabled/features/
 mv plugins/*jgit* disabled/plugins/
 mv plugins/*egit* disabled/plugins/
Gelldur
  • 11,187
  • 7
  • 57
  • 68
4

Took a little longer until I got around to do it, but here's a script to enable/disable plugins/features from Eclipse for Windows. To disable Mylyn, put the script in your Eclipse main directory and do:

eclipse_pfswitch.bat disable .mylyn.

To enable it again, do:

eclipse_pfswitch.bat enable .mylyn.

You can of course do that with arbitrary targets, not only Mylyn. The script echoes which files/directories it moves.

Some notes:

  • The script uses the same method as Dawid Drozd's answer - simply moving away unwanted stuff into folders which are unknown to Eclipse. That way, everything can be restored easily. Only difference is that I chose to use a .disabled suffix for the directory names.
  • I had to use SUBST to get away with using the MOVE command, which really is what should be used here. Problem is that the names of some Eclipse directories are ridiculously long - e.g. org.eclipse.datatools.sqldevtools.schemaobjecteditor.feature_1.12.0.v201406061321-4218375LG5BJ93413 - and thus MOVE cannot operate on them, causing an The filename or extension is too long error (206).
  • Default substitution drive letter is S:. If that one is used on your system, the script will tell you and bail out. Simply adjust the subst_drive variable to another unused drive letter.
  • Be careful how you specify the target. For example, if you want to remove "Target Management", specifying tm as target will also remove some HTML-related part of the "Web Standard Tools", because tm will obviously also match html - so use .tm. instead. Conversely, if removing "Remote Systems Explorer", don't use .rse. but .rse otherwise you will miss some parts. It's always easy to go back anyway, so experiment as you wish.

Without further ado, here's the script. It's not pretty, but hey, it's batch.

@ECHO OFF
SETLOCAL EnableDelayedExpansion
ECHO Eclipse plugin/feature switcher script for Windowze (p) 2015 zb226
ECHO Inspired by https://stackoverflow.com/a/17614970/1529709
ECHO.

SET subst_drive=S:
IF EXIST %subst_drive%\ (
    ECHO ERROR: Choose another drive for substitution, '%subst_drive%' is in use
    GOTO :EOF
)

IF NOT EXIST plugins SET _check=1
IF NOT EXIST features SET _check=1
IF DEFINED _check (
    ECHO ERROR: This does not look like an Eclipse main directory
    GOTO :EOF
)

IF "%1" == "enable" SET _check=1
IF "%1" == "disable" SET _check=1
IF NOT DEFINED _check GOTO :usage
IF "%2" == "" GOTO :usage
SET mode=%1
SET target=%2

CALL :shove_it %mode% plugins *%target%*
CALL :shove_it %mode% features *%target%*
GOTO :EOF

:shove_it
SET _mode=%1
SET _type=%2
SET _mask=%3

IF "%_mode%" == "disable" (
    SET _source=%2
    SET _target=%2.disabled
    IF NOT EXIST !_target! MKDIR !_target!
) ELSE (
    SET _source=%2.disabled
    SET _target=%2
)

SUBST %subst_drive% %_target%
FOR /F %%A IN ( 'DIR /B /O:N %_source%\%_mask% 2^> nul' ) DO (
    ECHO !_mode:le=l!ing !_type:s=! %%A
    MOVE %_source%\%%A %subst_drive%\%%A > nul
)
SUBST /D %subst_drive%
GOTO :EOF

:usage
ECHO Usage:             %~nx0 enable^|disable [TARGET]
ECHO Examples:          %~nx0 disable .mylyn.
ECHO                    %~nx0 enable .mylyn.
ECHO Example targets:   .mylyn., .datatools., .tm., .cvs, .rse, .pde, .rcp, ...
Community
  • 1
  • 1
zb226
  • 9,586
  • 6
  • 49
  • 79
2

In Eclipse Neon, you can uninstall Mylyn via the Eclipse Installation Details view. Just select Help ==> Installation Details, select the components to want to uninstall, and click Uninstall....

Eclipse Installation Details View

herrtim
  • 2,697
  • 1
  • 26
  • 36
  • I just tried this but the Mylyn views are still there after the uninstall, so I don't think this method really works... – zb226 Oct 06 '16 at 14:35
  • Did you restart Eclipse? – herrtim Oct 06 '16 at 15:06
  • Yes (as suggested by Eclipse after the uninstall action). Did a manual restart now to re-test. Also, Eclipse still loads all the Mylyn stuff on startup as can be seen in the lower part of the splash screen. – zb226 Oct 06 '16 at 15:09