Por que o Eclipse Java Package Explorer mostra ponto de interrogação em algumas classes?

95

No Eclipse Helios Java Package Explorer, vejo os ícones da classe Java exibindo um pequeno ponto de interrogação à direita do 'J', algo como [J?]. Este ícone é mostrado em cada classe dentro de um pacote em meu projeto, mas não consigo encontrar uma explicação para isso na documentação.

insira a descrição da imagem aqui

Em algum momento, espero que eles desapareçam e sejam substituídos por pequenos retângulos laranja. (Do qual também não estou certo de seu significado, mas menos preocupado com sua conotação.) Suponho que esta questão aponta para uma questão mais ampla: algum desses ícones está definido junto em algum lugar?

dfdumaresq
fonte

Respostas:

133

Isso significa que a classe ainda não foi adicionada ao repositório.

Se o seu projeto foi retirado (provavelmente um projeto CVS) e você adicionou um novo arquivo de classe, ele terá o ?ícone.

Para outras decorações de etiqueta CVS, verifique http://help.eclipse.org/help33/index.jsp?topic=/org.eclipse.platform.doc.user/reference/ref-cvs-decorations.htm

Aleks Felipe
fonte
Ah, sim! Obrigado, isso respondeu à minha pergunta. Eu comprometi o pacote e a classe para o CVS e os pontos de interrogação sumiram.
dfdumaresq
27

Com alguns plug-ins de controle de versão, isso significa que o arquivo local ainda não foi compartilhado com o repositório de controle de versão. (Na minha instalação, isso inclui plug-ins para CVS e git, mas não para Perforce.)

Às vezes, você pode ver uma lista dessas decorações nas preferências do plug-in em Team / X / Label Decorations , onde X descreve o sistema de controle de versão.

Por exemplo, para CVS, a lista se parece com esta:

insira a descrição da imagem aqui

Esses adornos são adicionados aos ícones de objeto fornecidos pelo Eclipse. Por exemplo, aqui está uma tabela de ícones para o ambiente de desenvolvimento Java .

Andy Thomas
fonte
Isso realmente me fornece uma lista de todos os ícones. Obrigado!
dfdumaresq
Não foi possível encontrar isso ao fazer uma pesquisa na ajuda do eclipse. As páginas de ajuda em decorações de rótulos apenas fornecem informações gerais e um link para a página Preferências para habilitar / desabilitar alguns específicos, sem mostrar sua aparência visual.
Cincinnati Joe
21

Parece que você está usando o Subclipse; isso está correto? Nesse caso, há uma grande lista de decoradores e suas descrições nesta resposta de Tim Stone.

Este é o snippet relevante para o seu caso:

Arquivo não versionado- Um arquivo que não está sob controle de versão. Normalmente, esses são novos arquivos que você ainda não consolidou no repositório.
Arquivo Sincronizado- Um arquivo sem alterações locais.

Pops
fonte
Estou usando o explorador de repositório CVS (não tenho certeza se ele usa Subclipse), mas sim, esta é uma ótima lista. Obrigado!
dfdumaresq
6

Em um projeto habilitado o pequeno ponto de interrogação (?) indica que seu arquivo ainda não foi adicionado ao repositório SVN.

O pequeno retângulo laranja é uma indicação de que seu arquivo foi confirmado no repositório.

Um asterisco (*) indica uma mudança local.

Lachezar Balev
fonte
4

esses ícones são uma forma do Egit mostrar o status do arquivo / pasta atual no git. Você pode querer checar isso:

imagem que descreve os ícones do Eclipse para Egit

  • sujo (pasta) - pelo menos um arquivo abaixo da pasta está sujo; isso significa que há mudanças na árvore de trabalho que não estão no índice nem no repositório.
  • rastreado - o recurso é conhecido pelo repositório Git. untracked - O recurso não é conhecido pelo repositório Git.
  • ignorado - o recurso é ignorado pelo provedor de equipe Git. Aqui, apenas as configurações de preferência em Equipe -> Recursos Ignorados e o sinalizador "derivado" são relevantes. O arquivo .gitignore não é levado em consideração.
  • sujo - O recurso tem alterações na árvore de trabalho que não estão no índice nem no repositório.
  • encenado - o recurso possui alterações que são adicionadas ao índice. Não que adicionar ao índice seja possível no momento apenas na caixa de diálogo de confirmação no menu de contexto de um recurso.
  • parcialmente preparado - O recurso tem mudanças que são adicionadas ao índice e, adicionalmente, mudanças na árvore de trabalho que não estão no índice nem no repositório.
  • adicionado - O recurso ainda não foi rastreado, mas adicionado ao repositório Git.
  • removido - O recurso é testado para remoção do repositório Git.
  • conflito - existe um conflito de mesclagem para o arquivo.
  • assume-valid - O recurso tem o sinalizador "assume inalterado". Isso significa que o Git para de verificar os arquivos da árvore de trabalho em busca de possíveis modificações, então você precisa remover manualmente a definição do bit para informar ao Git quando você alterar o arquivo da árvore de trabalho. Esta configuração pode ser ativada com a ação do menu Equipe-> Assumir inalterado (ou na linha de comando com git update-index - assumir-inalterado).
CommonSenseCode
fonte
0

isso ocorre porque seu projeto foi vinculado a um repositório git-hub e o arquivo com ponto de interrogação ainda não foi adicionado. se você deseja remover este sinal, você terá que adicionar este arquivo ao repositório git-hub.

Muhammad Aamir Khan
fonte