VSS Plugin version 1.6.2 for Eclipse 3.3

A Team provider plug in for the Eclipse IDE. Enables VSS actions to be integrated with the Eclipse IDE release 3.3 (Europa). If you'd like to make a donation see below for details.

Last Modified: 09-Sep-2007


Screen shot of the plugin (Click to enlarge).

1 Getting Started

This plug-in should work with Eclipse release 3.3 SDK RCx, and the upcoming 3.3 SDK release. It enables the user to perform Microsoft Visual SourceSafe (VSS) actions from within the IDE. The former support for older Eclipse versions has now been dropped. Please use the older releases of the plugin of you use an non 3.3 compliant Eclipse base.

1.1 Prerequisites

1.2 Installation

  1. Download the latest version from http://sourceforge.net/projects/vssplugin/. Please note that if you are using WSAD 5.x or Eclipse 2.0 you can only use the older 2.0 compabillity releases. The same applies to older Eclipse 3.0 based versions.
  2. Unpack the zip-file into your eclipse plug in directory. Also make sure that any old version of the VSS plugin is removed.
  3. Restart the Eclipse IDE
  4. You can check if the plug in is running via Help -> About Eclipse Platform -> Plug in Details scroll through the list and it should be there.
  5. Should be it. I also recommend to enable the Label Decorator function - if it is not enabled by default.

1.3 Donations

I have a paypal account for receiving donations. If you like the plugin and would like to make a donation please use paypal.

1.4 What's new in the latest major release (1.6.0)?

1.5 Getting started

The VSS Plugin works on a per Eclipse project basis. Each project in your workspace can be configured separately and can mount a VSS database. If you need to mount more than on VSS database you must use separate Eclipse projects. 

Each project can have one or more path mappings between the local workspace and the VSS database and the plugin requires at least one mapping for operation. For example: You have a source directory in your workspace /java/src and in the VSS all files below /java/src should be mapped to $/project-x/java/src, then you have a mapping from /java/src to $/project-x/java/src. It is always legal to only use / mapped to $/ but this is probably a rare case.

More mappings can be added if needed. The plugin will always use the "best mapping" in the sens of longest equal path.

For example three mappings:
    /src/java => $/project-x/src/java
    /src/jsp => $/project-x/webapp
    /src => $/project-x/other

Results in:
    /src/java/x/y/Test.java => $/project-x/src/java/x/y/Test.java
    /src/java/Test.java => $/project-x/src/java/Test.java
    /src/jsp/test.jsp => $/project-x/webapp/test.jsp
    /src/test.jsp => $/project-x/other/test.jsp
    /test.jsp => This file is not managed by the plug in.

How to enable the plug in?

1. Configure a team provider for your project. This is done by using the right click context menu on the Eclipse project. Team -> Share Project, which brings up the select repository wizard dialog.

2. Select VSS Configuration Wizard. Select the appropriate settings. The next button will bring you to the mapping configuration, but if you only need one mapping press finish.

3. Your project is now configured for using the VSS Plugin.

4. If you now bring up the right click context menu on the project and select Team, there will some additional functions available. The context menu option will vary depending on the status of the file. If you have any trouble with that an option isn't available, but it should be, always try to do a refresh and see what happens. All errors within the plugin can be found in the Eclipse log-file located at "your workspace"\.metadata\.log always check that if you have any trouble.

How to view/edit the configuration settings or configured mappings?

To view the configuration settings use the properties in the context menu on the project root folder and select VSS Configuration or VSS Mappings. On each resource one can always check its properties to find out status of the file, like where it's mapped and so on. Found under context menu -> properties -> VSS Info.

How to show the .scc files not showing in the navigator view?

Why? You can disable the filter using the filer menu on the top right corner in the view.

How to support multiple checkouts?

To be able to use multiple checkous for a project you must enable this option in the

How to enable status showing for each file/folder in the project?

This is done via the workbench preference settings. Use Window -> Preferences -> Workbench -> Label Decorations -> and enable VSS Plug in Team Decorator.

The Team Decorator is useful but it also requires some extra cpu and will make the start-up of the IDE somewhat slower, especially if there are a lot of files shown in the tree view.

Are there any preferences?

Preferences are found under Window -> Preferences -> Team -> VSS. - Show number of checked out files in each folder. Enabled this will show the number of checked out as a number after the folder/package name. - Always assume recursive refresh/get latest version on folders. Disabled this will bring up a dialog, asking the user if the operation should be recursive, when executing a refresh/get latest version on a folder.

How to enable shortcut keys?

This is done by enabling the VSS Plugin action set. Enable it for each perspective under Window -> Customize Perspective -> Other -> VSS Plugin menu and shortcut keys

The action is invoked on the current active editor or the current selection if there is no active editor. Perfect with code browsing for a fast check out/check in for a small change.

There is also a known problem with the menu on startup before any editor activation/deactivation or before any of the menu actions have been invoked the disablement of some menu options do not work, which might lead to unexpeted faults.

The currently supported keys are:
   Ctrl+Alt+U -> Undo Check Out
   Ctrl+Alt+I -> Check In
   Ctrl+Alt+O -> Check Out
   Ctrl+Alt+R -> Refresh
   Ctrl+Alt+A -> Add

The shortcuts keys does not work?

This might a problem with keybinding collision within the Eclipse plattform. There might be some other plugin which uses the same shortcut key. By editing plugin.xml you can modify them if you have any problem. See the action set defintions near the bottom of the file.

Also consider that as long as there is an open editor it will take precedence over any selection in any view. Currently there does not seem to be any way to check which part has focus within the platform. 

Some files are ignored by the VSS plugin, how to enable them?

Currently the filename patterns *.class, *.scc, .project, .classpath are available as ignored resources. Enable them under Window -> Preferences -> Team -> Ignored Resources. All files matching any of the enabled patterns will be ignored by the VSS plugin.

Is there a view of all checked out files?

Such a view can be found under Window => Show View => Other => VSS => Checked Out Files. To find all currently checked-out files in a project use the full refresh. You can disable showing files checked out to other users using the supplied filter. The sort-order can also be changed.

Nothing happens when I run an action?

Check the Eclipse log-file located at "your workspace"\.metadata\.log for any exception and file a bug-report.

Can I move and rename files from in the VSS?

All rename, delete and move operations in the workspace are now intercepted by the VSS plugin. The user is always prompted before the corresponding action is executed in the VSS database. One should note that moving of a single file between folders does an add and then a delete, which causes the file to loose all VSS history. This is a limitation in the VSS, it only support move of projects and not files, don't ask me why??

Can I import/export all VSS project settings?

Use the Team Import/Export function in the platform. Projects configured with VSS support all mappings, database path and so on will be exported.

On import if you have the project-decription files (.project, .classpath) stored in the VSS and they are mapped to the project's root folder the import function will ask if it should use project-decription files for creating a new project.

I also recommend you try out Eclipse Project Set Editor, which now supports the VSS plugin, acknowledgements to Martin Zvieger and Dirk Baumann who provided this.

Is there any way to check differences between local files and files in the Database?

Synchronize View

The new Synchronize with Repository action brings up the plattforms Synchronize view with a full diff of all local files with the files/folders in the VSS database. Only added/deleted/changed resources are shown in the view. Local files which needs to be added to the database is shown with a + (plus) sign and files deleted from the database ate shown with a - (minus) sign. Together with the Commit Changes action is very easy to commit your changes back to the VSS Database. This is still an early version of it, but I find it usefull.

The Commit Changes action tries to add all local files and check-in all files currently checked-out. The user is prompted for a selection of files to add. Easy to use for commiting all changes made back to the VSS database.

Compare/Merge Viewers

To compare single files you can use the compare viewer available under the Comapre With-menu. This will bing up a full dialog showing versions in the VSS database and differences between that version any the local file.


Screen shot of Compare Viewer (Click to enlarge).

Thers is also a merge action under the team-menu which brings up a merge viewer, which looks similar to the Compare-viewer but with the change that the left side is editable.

The user can also select if comments should show, expand/collapse tree, select if labels should show. All actions available from the context menu.

Help! Something seems wrong, the views are not showed correctly, the context meny does does not show or I get somekind of COM error.

If this happends the most likely cause is due to some unreported error or some major configuration error. You can always try to disable the VSS plugin by removing the <nature>org.vssplugin.core.VSSPluginProvider</nature> line from the .project file and restart. Then reconfigure your project.

Another issue can be that your local VSS installation is somehow corrupt. Usally when you see a COMException, or registry-GUID it's your installation thas is corrupt. Applying the latest service-pack should solve the problems. For further information see http://msdn.microsoft.com/ssafe/

The Eclipse log-file located at "your workspace"\.metadata\.log.

The plugin does not seem to work with WSAD 5.1.

Since WSAD 5.1 is based on Eclipse 2.1 it is not supported. Use the older 2.0-compabillity release intead.

2. Known problems

3. Changes To Previous Versions

3.1. Changes in Version 0.8

3.2. Changes in Version 0.9

3.3. Changes in Version 0.9.1

3.4. Changes in Version 0.9.2

3.5. Changes in Version 1.0 beta

3.6. Changes in Version 1.0

3.7. Changes in Version 1.1 (Never Released)

3.8. Changes in Version 1.2

3.9. Changes in Version 1.2.1

3.10. Changes in Version 1.3

3.11. Changes in Version 1.4

3.12. Changes in Version 1.4.1

3.13. Changes in Version 1.5

3.14. Changes in Version 1.5.1

3.15. Changes in Version 1.5.2

3.16. Changes in Version 1.6

3.17. Changes in Version 1.6.1

3.18. Changes in Version 1.6.2

4. TODO/Wishlist

Priority Tasks

Low Priority Tasks

5. Copyrights and Support

2002-2007 Marcus Nylander (marcus.nylander@bredband.net).

This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version.

This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 

More info and updates are located at: http://sourceforge.net/projects/vssplugin/ 

Please use the site for reporting bugs and general support.