Pergunta

Eu tenho Eclipse 3.3.2 com PDT fazendo o desenvolvimento PHP. Todos os projetos que eu crio, projetos, mesmo SVN tem a conclusão de código. Agora eu só abriu outro projeto SVN e não tem nenhuma conclusão de código ou modelos PHP (CTRL-espaço não faz nada nesse projeto). No entanto, posso abrir os outros projetos e conclusão de código todo o trabalho em si.

Por que a conclusão de código e modelos de ser "off" em apenas um projeto e como eu posso ligá-lo novamente?

Foi útil?

Solução

Talvez Eclipse não entende o projeto tem um "PHP natureza". Tente comparar o arquivo .project em ambos os projetos de olhar para as diferenças. Ele deve conter algo como:

 <natures>
  <nature>org.eclipse.php.core.PHPNature</nature>
 </natures>

O arquivo .project estará em seu espaço de trabalho sob os diretórios do projeto.

Outras dicas

Procure a .buildpath arquivo em seu projeto ... colocar esta linha entre a tag:

<buildpathentry kind="con" path="org.eclipse.php.core.LANGUAGE"/>

Save-lo e reiniciar eclipse. Agora tudo deve estar OK ... Isso funcionou para mim. :)

Obrigado! Passei todo o dia para descobrir por que eu não tenho a conclusão de código ...

O problema é que, se você criar um projeto SVN do .project é um arquivo básico sem referência codecompletion. Você tem que criar um projeto básico PHP e comparar os dois arquivos e substituindo a parte que falta em um projeto SVN.

Agora eu tenho a conclusão de código para cada arquivo no projeto, mesmo para a biblioteca Zend Framework

É apenas uma linha para adicionar no arquivo .project e reiniciando eclipse para obter codecompletion: Onde se lê

---
 <natures>
 </natures>
---

após a mudança tem de ser

---
 <natures>
  <nature>org.eclipse.php.core.PHPNature</nature>
 </natures>
---

Isso deve fazer.

@Guido PHPNature não corrigir isso.

@Edward Tanguay Sim, isso é porque quando você cria novo projeto PHP, eclipse acrescenta .buildpath arquivo com

<?xml version="1.0" encoding="UTF-8"?><buildpath>
<buildpathentry kind="src" path=""/>
<buildpathentry kind="con" path="org.eclipse.php.core.LANGUAGE"/></buildpath>

Ao importar projeto que você eclipse não gera .buildpath arquivo existente, mas você pode adicioná-lo à mão ou criar novo projeto PHP com existin fonte (você pode escolher no assistente).

Eu tenho o mesmo problema às vezes. Para mim, ele trabalha para reconstruir o projeto PHP com "Projeto" -.> "Clean"

Se você tem esse problema, siga estes passos:

  • Selecione "PHP Include Path" em sua árvore do projeto
  • Botão direito do mouse sobre ela e clique em "Caminho de Construção> Configure Build Path"
  • Na janela de abertura, adicionar pasta que você quer construir, para que ele possa fazer auxiliar código.

Isso é tudo :) Espero que isso resolve o seu problema, eu resolvi o meu:)

Certifique-se o arquivo é aberto com o "editor PHP". Direito do mouse no arquivo e selecione aberto com para selecionar o editor certo.

Se se verificar que você está usando o editor de errado, você pode alterar a associação em Preferências »Geral» Tipos de conteúdo

Botão direito do mouse na tela de edição, Goto Java -> Editor -> Assistente de Conteúdo -> Avançado ... Selecione propostas nesse sentido

ATENÇÃO

Além das soluções já mencionadas para obter toda a autocomplete ajuda ao trabalho, há outra peculiaridade:. Não pode ser habilitado

Ir para a Janela> Propriedades e, em seguida, para o PHP> Editor> Código Assist (JAVA tem uma opção semelhante) e definir "Ativar ativação auto", de preferência com um atraso que você vê confortáveis ??(0 ms). Se você estiver incomodado pelo programa de repente decidir fazer coisas para você sem pedir (e fazendo errado), desmarque a opção "Insert propostas individuais automaticamente" e você deve ser fino.

Tenho notado às vezes, quando você check-out um projeto do SVN no eclipse (subversivo ou subsclipe "Checkout um projeto como") e mesmo que você verificá-la como um projeto de php ele quer excluir o arquivo .project ou seria ser um projeto genérico. Eu encontrei apenas para ir nesse diretório e excluir o .project .settings / e .cach /

Em seguida, crie um novo projeto PHP e apontar o diretório onde você check-out dos arquivos. E você deve ter conclusão de código e svn deve ser link para seu repo.

Eu tive um problema que caminho de construção estava vazia, por isso não conclusão de código para qualquer um dos arquivos i tentou editar. Certifique-se de configurar corretamente o seu caminho de construção, especialmente se você está ligando a fonte de algum outro local que o espaço de trabalho.

Como o htdocs pasta apache por exemplo.

Eu ter resolvido isso, permitindo o indexador completa C / C ++ (Windows-> Propriedades -> C / C ++ -> indexador), e também atingiu o botão "Use configuração do botão ativo". Depois disso Limpo, e construir tudo.

Isso trabalhou em Eclipse CDT 3.4

Se você veio aqui à procura de conclusão de código em php eclipse não está funcionando, verifique se o projeto está sendo apoiado como um projeto de php. Botão direito do mouse sobre o projeto e, em seguida, ir para configure -> Adicionar suporte php. Se você tiver as configurações certas para assistente de código que deve funcionar instantaneamente. Às vezes iniciantes como me ajustar ao redor com os projetos ou iniciar projetos como limpo e não como php tão eclipse não sabe como tratar o projeto.

Eu tive de clicar o botão direito no projeto no PHP Explorer, vá para "PHP Build Path". Este foi vazio. Eu cliquei "Add Folder", selecionado na caixa ao lado para a pasta raiz do meu projeto e clicar em "OK", depois em "OK" novamente.

Depois que a conclusão do código parecia trabalho. Deve apenas trabalhar fora da caixa, se você me perguntar, mas o que quer.

Verifique a lib do seu projeto. Pode ser que você tem incluem dois desses arquivos jar em que mesma classe está disponível ou dizer uma classe no código pode ser refrenced em dois arquivos jar. Nesse caso também pára eclipse auxiliando código, uma vez que está totalmente confuso.

Melhor maneira de verificar isso é ir para o arquivo onde auxiliar não está trabalhando e comentar todas as importações lá, do que as importações add um por um e verificar em cada importação se o código auxiliar está funcionando ou not.You pode facilmente encontrar a classe com refrences duplicados.

Uma solução poderia ser a de incluir um arquivo php manequim wich exige que todas as suas classes PHP. Assim que o analisador PHP reconhece essas classes também. Exemplo de arquivo fictício:

if(false) {
     require_once 'class/one.php';
     require_once 'class/two.php';
     require_once 'class/three.php';
}
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top