Esta manhã, o Xcode 9.0 (9A235) mostra uma nova / estranha caixa Auto Complete que não é de todo o que costumava ser. Como obtenho a caixa de preenchimento automático completo para que o preenchimento automático tenha a aparência normal?
Esta manhã, o Xcode 9.0 (9A235) mostra uma nova / estranha caixa Auto Complete que não é de todo o que costumava ser. Como obtenho a caixa de preenchimento automático completo para que o preenchimento automático tenha a aparência normal?
Respostas:
Experimentar:
Excluir a pasta DERIVED DATA pareceu resolver meu problema. Graças a esta postagem: swift println () não mostra opções de preenchimento automático ao escrever o código
Coisas para tentar:
Execute este comando no diretório do projeto se você usar cocoapods:
rm -rf ~/Library/Caches/CocoaPods;
rm -rf Pods; rm -rf ~/Library/Developer/Xcode/DerivedData/*;
pod deintegrate; pod setup; pod install;
Limpar dados em cache
Limpe o projeto -> Cmd + Shift + K
Limpe a pasta de compilação -> Cmd + Shift + Option + K
Se você pulou a etapa um:
Excluir Dados Derivados
Xcode Preferences
-> Locations
->
Símbolo de Seta Leva você para DerrivedData
-> Excluir Pasta
Verifique as fontes de compilação da sua fase de construção.
Todo arquivo .swift
e .m
no projeto deve estar nesta lista ou não será preenchido automaticamente nesses arquivos.
Otimize seu editor:
Use fileprivate em todas as propriedades e funções de classe que puder para reduzir o escopo do trabalho dos compiladores por item.
Escreva código modular / OOP para que você tenha menos código para o compilador ler.
Evite usar inferência de tipo quando o resultado for um cálculo complexo e tente dividir cálculos complexos em let this = smallerOperation
declarações
Xcode versão 11.0 (11A420a)
Tentei a solução de Lal Krishna para o Xcode V11.0. Funcionou algumas vezes, mas depois não obtive resultado.
Encontrei uma solução. Você deve excluir dois arquivos:
Essa solução me ajuda agora. Pode ser útil para outras pessoas 😉
Isso pode acontecer quando o arquivo não é membro do Destino. Abra o arquivo onde o autocomplete não está funcionando e mostre a guia "Utilities" no canto superior direito do Xcode (azul na imagem abaixo).
Certifique-se de que seu destino (normalmente o nome do seu aplicativo) esteja marcado. O preenchimento automático deve funcionar quase que instantaneamente, sem reiniciar o Xcode, limpar ou excluir dados derivados.
Se já estiver marcado, certifique-se de desmarcar e verificar novamente. Para mim, funcionou.
Estou usando o Xcode 10.2 e tive o mesmo problema.
Essa resposta do axel me ajudou a consertar.
De qualquer forma, vou descrever um pouco mais:
YourProject.xcodeproj
clicando com o botão direito do mouse e abraShow Package Contents
xcuserdata
e exclua seuyouruser.xcuserdatad
Se você também tiver xcworkspace
(se já tiver algum pod instalado), execute as etapas 3 e 4, caso contrário, pule as etapas 3 e 4:
YourProject.xcworkspace
clicando com o botão direito do mouse e abraShow Package Contents
Vá para xcuserdata
e exclua seuyouruser.xcuserdatad
Saia do Xcode
rm -rf ~ / Library / Developer / Xcode / DerivedData
Isso também pode acontecer se você nomear seus arquivos de maneira redundante. Por exemplo,
Data.swift
Data.swift
Remover o arquivo dos Test Targets corrigiu meu problema.
Por favor, tente fazer isso:
Selecione o arquivo >> verifique se o arquivo foi adicionado aos destinos UITesting ou UnitTesting (Inspetor de arquivo -> Associação de destino) . Em caso afirmativo, desmarque esses dois e certifique-se de que apenas o destino do projeto seja selecionado. Em seguida, crie e tente se o preenchimento automático está funcionando bem.
Isso funcionou para mim. Espero que ajude alguém.
Depois de muito tempo pesquisando, finalmente resolvi o problema para mim. Em Xcode> Preferências> Edição de texto, em "Completar código", marquei "Usar a tecla Escape para mostrar sugestões de conclusão" por algum motivo. Assim que desmarquei essa caixa, o preenchimento automático funcionou perfeitamente, sem nem mesmo precisar reiniciar o Xcode! (Xcode 10)
Aqui está um pouco de solução alternativa, mas funciona.
Limpe o projeto ... Command + Shift + K
Limpe a pasta de compilação ... Command + Shift + Opções (Alt) + K
Exclua os dados derivados do projeto ... Isso pode ser feito com a ajuda deste link:
Feche o XCode.
Assim que terminar a construção, as sugestões estarão de volta. Eu tentei duas vezes.
Atualizar:
Às vezes, o problema pode ser tão simples quanto nomes de arquivo duplicados. Verifique cuidadosamente se algum novo nome de arquivo adicionado por você está em conflito com arquivos mais antigos.
Acabei de perder um dia tentando resolver o pesadelo de autocomplete do Xcode (9.2). A exclusão de dados derivados pareceu funcionar brevemente, então as coisas se reverteram. Reinicializações etc. e outras sugestões de vodu não fizeram diferença.
Desisti e baixei a versão de avaliação de 30 dias do AppCode da Jet Brains. Autocomplete funcionou bem lá e talvez seja coincidência, mas então começou a funcionar novamente no meu projeto no Xcode. Não posso garantir que continuará funcionando ...
Parece ser específico do arquivo no meu caso (Xcode 9.2). Para mim, a solução foi:
Finalmente, após 3 horas tentando de tudo - o preenchimento automático funciona como deveria.
Problemas principalmente porque faltam localização de alguns arquivos no navegador do projeto (erros de compilação)
Project Navigator
painelOu você pode:
Espero que isto ajude
Xcode 11.3, macOS catalina
processo parsecd atingir 100% da CPU, então matá-lo me ajuda
Para mim, o problema ocorreu quando descartei todas as alterações de um arquivo (em Source Control> Commit), o que efetivamente excluiu o arquivo. Isso é o que eu queria e pensei que o arquivo e todas as referências a ele seriam excluídos também.
No entanto, ainda havia uma referência ao arquivo (mostrado em vermelho) no navegador de Projetos. A exclusão do arquivo (agora inexistente) no navegador de projetos trouxe de volta o preenchimento automático por mágica.
Nenhuma quantidade de limpeza, exclusão de dados derivados, etc. ajudou. Só percebi que o arquivo excluído ainda estava aparecendo quando tentei construir meu projeto, o que obviamente falhou porque não conseguiu encontrar esse arquivo.
Espero que isso ajude alguém a economizar 30 minutos :)
Meu caso pode parecer muito específico para ajudar, mas pode dar a alguém uma ideia de como resolver o preenchimento automático quebrado. Xcode 10.2.1.
No meu caso, o preenchimento automático parou de funcionar totalmente e nenhuma dessas outras respostas me ajudou. Além disso, o ventilador no computador pode ser ouvido mais alto, indicando que algo estava sobrecarregado (nenhum outro aplicativo em execução). Deve-se notar que eu estava editando em um laptop MacBook Pro. Parecia estar relacionado com a luta do editor para analisar a equação que eu escrevi:
switch mtype {
case .indeterminate:
newPosition.x = (frame.width - mainFigureText.frame.width) / 2
case .right:
newPosition.x = (((frame.width / 2) - mainFigureText.frame.width) / 2) + (frame.width / 2)
case .left:
newPosition.x = (((frame.width / 2) - mainFigureText.frame.width) / 2)
}
Eu estava tentando animar uma visualização de texto à esquerda, à direita ou no meio, dependendo das preferências do usuário. O newPosition
é um para o CGPoint
qual o texto será animado. De qualquer forma, divido as equações e de repente o autocompletar começou a funcionar e o ventilador ficou silencioso! Consegui recriar este problema específico mais de uma vez, redigitando o código acima e substituindo-o por:
let halfFrameWidth: CGFloat = frame.width / 2
let middleLeft = (halfFrameWidth - mainFigureText.frame.width) / 2
switch doseType {
case .right:
newPosition.x = middleLeft + halfFrameWidth
case .left:
newPosition.x = middleLeft
default:
newPosition.x = (frame.width - mainFigureText.frame.width) / 2
}
Gostaria de acrescentar mais uma à pilha de soluções, porque é a única que funcionou para mim e não está em lugar nenhum aqui.
O Xcode normalmente vem com duas configurações de construção padrão para cada projeto. Release
& Debug
. Eu tenho um extra para meus testes de unidade chamados Testing
. No Xcode 10.1, 10.2, 10.3 e 11 beta, o novo sistema de compilação não parece gostar e só será completado automaticamente se você usar Release
ou Debug
. Qualquer configuração de construção personalizada interrompe o preenchimento automático em projetos mistos (swift + objc) com testes de unidade.
Este link me ajudou. Abra as Configurações de construção e preencha os caminhos de pesquisa da estrutura. Veja a imagem abaixo.
Tive o problema de 100% não funcionar com preenchimento automático, nada do que foi escrito aqui ajudou. Uma coisa que notei - ele foi quebrado logo após adicionar algumas entidades ao arquivo .xcdatamodel, que tem definição de classe codegen por padrão.
Portanto, não fiquei surpreso ao usar o codegen none do estilo antigo (e gerar classes, é claro) corrigiu o problema imediatamente, mesmo sem reiniciar o xcode.
Se você tiver problemas com preenchimento / preenchimento automático / intellisense estranhos (não mostrando coisas padrão como delegados e métodos de protocolos de fonte de dados), apenas mude seu destino (por exemplo, do simulador iPhone 8 para um dispositivo real), construa o projeto e volte para o seu destino original .
Semelhante a problemas com o Interface Builder (storyboards) não mostrando nada, mas apenas "nada selecionado" sempre que você seleciona qualquer parte da visualização. Basta mudar para outro Xib / Storyboard (ou até mesmo criar um novo), verificar se funciona lá e voltar.
Essas soluções alternativas funcionaram para mim em ambos os casos (tive os dois problemas em um dia com um projeto no Xcode 10.2.1). Pelo que tenho visto em todos os fóruns da Internet, parece que esses são bugs nunca corrigidos desde o Xcode 6.x ou assim.
Felicidades!
No meu caso (Xcode 11.1), aconteceu quando parei a indexação automática do Xcode com este comando defaults write com.apple.dt.Xcode IDEIndexDisable -bool true
.
Então eu volto com ele defaults write com.apple.dt.Xcode IDEIndexDisable -bool false
. em seguida, reinicie o macOS e execute novamente o Xcode.
Tive o mesmo problema com o Xcode 11.3. Nada acima não ajudou, descobri que tinha erros de compilação. Apenas conserte os erros de compilação e o preenchimento automático funcionará novamente.