Domanda

Ho un paio di grandi dimensioni (~ 600k linee di codice) progetti Delphi. Essi comprendono alcuni componenti personalizzati che il nostro team ha sviluppato.

Spesso, quando chiamo il completamento di codice con ctrl + spazio o semplicemente premendo il tasto "", le serrature IDE su e pensa davvero difficile per un lungo periodo di tempo. A volte il ritardo può essere un intero minuto, o più. Altre volte, si apre subito con suggerimenti.

Quali fattori influenzano le prestazioni di IntelliSense in Delphi? C'è un modo posso migliorare questa performance?

La mia soluzione migliore finora è quello di disattivare il completamento automatico, e utilizzare ctrl + spazio quando ho bisogno di meditare in silenzio per un minuto o giù di lì.

Non riesco a fare a meno di ricordare che VS2005, VS2008, e XCode tutti sembrano dare un feedback intellisense praticamente immediata (anche se non ho mai provato su un progetto di questo grande).

In alternativa, Ho offerto questo suggerimento .

È stato utile?

Soluzione

Assicurati di includere esplicitamente tutte le unità (*) utilizzati dal progetto nel dpr.
Non fare affidamento sul percorso di ricerca per trovare un'unità chiamata da un'altra unità, inserirlo al dPR. Il dpr sarà molto più lungo, ma tutte le cose legate compilazione sarà più veloce, compreso il codice-intuizione.

(*) non le unità dei componenti installati.

Altri suggerimenti

Delphi Code Insight invoca la dll compilatore di fare una compilazione personalizzata quando l'utente richiede codice Insight (Ctrl + Spazio, '', ecc). Questa compilazione personalizzato fa un accumulo nell'unità e salta sopra Codegen, che collega, ecc fino a raggiungere offset nel buffer di file di vostro attuale. Con questo in mente, l'elenco delle unità che il compilatore vede prima che arrivi alla posizione attuale giocherà un grande fattore nel determinare la velocità dell'operazione Codice Insight. Ci può essere un'unità (o più unità) che stanno causando un sistema di dipendenza file pesante, ecc E 'molto probabile che il riordinamento clausola uses, refactoring clausola uses di essere in più file, o la rimozione di unità nella clausola usi che aren' t necessaria per l'unità corrente per compilare può migliorare le prestazioni. Inoltre, utilizzando i pacchetti o accorciando la vostra unità percorso di ricerca può migliorare il tempo di risposta CI.

Non so quale versione si utilizza, ma il completamento del codice molto più veloce è una delle cose che mi piace di più di Delphi 2009.

Questo è un problema di lunga data con Delphi, e ho dovuto ricorrere a disattivare il completamento automatico. Dopo aver lavorato in questo modo per un po ', sono stato molto soddisfatto. Anche se ci vuole solo una frazione di secondo, avente l'IDE ritardo mia digitazione era sconcertante e interrotto il flusso. Molto più bello con le automatiche fuori, IMO.

Ho appena imbattuto in questo problema io stesso, ho riparato rimuovendo un collegamento di rete morto dal mio percorso di libreria ambiente. Ha risolto il problema al 100%.

Ti includere le directory fonti per le vostre squadre componenti personalizzati di essere nel percorso della libreria? Sarebbe interessante vedere la differenza di velocità, se solo i file DCU componenti sono nel percorso della libreria, rispetto avendo i file di origine anche lì.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top