Os usuários sempre acham necessário filtrar exibições, como a exibição do navegador, para reduzir a desordem. Os plug-ins podem auxiliar na filtragem utilizando técnicas diferentes.
Se seu plug-in implementar uma exibição que mostre recursos (ou objetos que são adaptáveis a IResource), você deve suportar conjuntos de trabalho. IWorkingSetManager fornece a API para manipulação de conjuntos de trabalho. É possível obter um IWorkingSetManager utilizando a API IWorkbench.
IWorkingSetManager manager = workbench.getWorkingSetManager();
IWorkingSetManager permite que você manipule e crie conjuntos de trabalho:
IWorkingSetManager também fornece notificação de alteração de propriedade conforme os conjuntos de trabalho são incluídos, removidos ou alterados. Se a sua exibição ou editor precisar responder a alterações no conjunto de trabalho selecionado, ela poderá incluir um atendente para CHANGE_WORKING_SET_CONTENT_CHANGE.
Para muitos plug-ins, a utilização de IWorkingSetManager para fornecer a filtragem de recursos é suficiente. Se o seu plug-in precisar definir conjuntos de trabalho de maneira diferente, ele pode registrar um novo tipo de conjunto de trabalho utilizando org.eclipse.ui.workingSets. A ferramenta Java utiliza esse recurso para definir um tipo de conjunto de trabalho Java. Os tipos de conjuntos de trabalho são mostrados quando o usuário decide adicionar um conjunto de trabalho.
Ao definir seu próprio tipo de conjunto de trabalho, é possível utilizar o protocolo IWorkingSet.getId para assegurar que o conjunto de trabalho corresponde ao tipo definido. Qualquer conjunto de trabalho criado de maneira programática deve ter seu ID definido para o ID de uma página de conjunto de trabalho que possa exibir os elementos do conjunto de trabalho. Esse ID é utilizado para assegurar que a página de edição de conjunto de trabalho adequada seja ativada quando o usuário editar o conjunto de trabalho. Um ID nulo indica que o conjunto de trabalho deve utilizar o tipo de conjunto de trabalho padrão do recurso.
Consulte a documentação do ponto de extensão org.eclipse.ui.workingSets e o protocolo IWorkingSet para obter detalhes adicionais.