Synchronized projects consist of files that are mirrored on the local system as well as on one or more remote systems. Editing occurs locally and each file is synchronized with the currently active remote system when it is changed, created, or deleted. This enables faster interaction with the files and editor, more CDT editor features since the files are local, and continued interaction for editing etc. if the network connection is lost.
To host a synchronized project, the remote system must support the Git distributed version control system.
To create a new Synchronized Project, use the following steps:
Or, from the context menu (right-mouse) in the Project Explorer, select New > Synchronized Project
Select Next > and then Next > again.
Edit the files as you would any local project. Each time you save a file, it will be synchronized with the remote system. If you create or delete files, the remote system will be updated appropriately.
By default, a synchronized project is configured to build on the same remote host used for synchronization. To build the project (assuming you have already created a makefile), make sure the project is selected in the Project Explorer view, then click on the build icon (the icon that looks like a hammer). A build configuration called "Workspace" is also available to build on the local machine if this is required.
You can create configurations to synchronize and build on other remote systems using the C/C++ Build > Synchronize project properties. To bring up the Synchronize project properties, in the Project Explorer view, select the project and choose Properties from the context menu (right click).
Synchronization is done between the local workspace and the active configuration. You can change the active configuration by using the Build Configurations > Set Active... context menu on the project or via the Manage Configurations button on the Synchronize properties page. If "Workspace" is the active configuration, no synchronization is done.
At the time of the PTP 5.0 release (June 2011), the mechanism for supporting remote includes in CDT does not work automatically with synchronized projects yet, as it requires some integration with the remote scanner discovery (which discovers what includes/defines are set on the remote system).
You can currently manually configure remote include files as follows:
//connection_name/usr/include where 'connnection_name' is the name of the connection you specified
for the Remote Tools service provider
/usr/include using the connection lincoln.ncsa.uiuc.edu that you
previously configured, you would use the path //lincoln.ncsa.uiuc.edu/usr/include
See also Synchronized Projects usage info on the PTP Wiki page for information available after PTP 5.0 release.
See Local Vs. Remote Projects for more information on the different kinds of local and remote projects.