2013-08-14 6 views
14

A volte, ottengo questo messaggio nella barra di stato quando si preme F3 su un tipo in un editor di Java:Come faccio a eliminare "La selezione del testo corrente non può essere aperta in un editor" in Eclipse?

la selezione del testo attuale non può essere aperto in un editor

Quando copio la selezione negli appunti e utilizzare Ctrl + Shift + T per aprire la finestra di dialogo "Apri tipo", posso incollare il valore e verrà visualizzato il tipo e posso aprirlo. Il tipo è sul percorso della classe (senza errori di compilazione).

In altri editor Java nello stesso progetto, F3/Ctrl-Click funziona.

Nell'editor "danneggiato", funziona solo su campi e metodi interni. Per i campi interni, funziona solo nel luogo in cui è definito il campo. Tutti i luoghi in cui viene utilizzato un campo sono morti. "Mark Occurrences" funziona, però.

Come faccio a liberarmene?

Finora, ho provato:

  1. Chiudere e aprire l'editor
  2. Pulire il progetto
  3. Pulire tutti i progetti
  4. "Progetto Aggiornamento ..." nel menu contestuale Maven
  5. Restart Eclipse
  6. Riavvia Eclipse con -clean

Questo succede su Eclipse 3.7.2 con m2e 1.3.1 installato.

risposta

6

[UPDATE] Questo sembra essere un bug somewhere in the depths of m2e and JDT. Solitamente, esso appare quando si hanno diversi progetti (Maven più moduli/reattore build) ei moduli MA, MB e MC dipendono l'una dall'altra:

MC dipende MB dipende da un interno tipo parametrico X.Y<T> di MA.

e hai chiuso il modulo MB. Sul percorso di classe di MC, questo sarà simile modo:

MB.jar 
MA 

Cioè MB esiste come un JAR nel classpath, mentre MA viene importato come un progetto Eclipse dallo spazio di lavoro.

In questa situazione, Eclipse viene confuso durante la lettura dei file .class in MB.jar che richiedono tipi parametrici interni da MA. La mia ipotesi è che ha bisogno del tipo da MB.jar, lo analizza che indica la dipendenza dal tipo in MA che tenta quindi di analizzare solo per scoprire che il parametro di tipo per T non può essere risolto dall'analisi di MB isn ' Finito, ancora.

ci sono tre correzioni:

  1. Chiudi MA. Ciò importerà tutto come un JAR.
  2. Aprire il progetto MB.
  3. Fai il tipo interno un tipo toplevel

[OLD]

In questo caso, provare a questi passaggi in ordine crescente di disperazione:

  1. Chiudere l'editor e aprirlo ancora.
  2. Pulisci il progetto
  3. Chiudere il progetto e aprirlo di nuovo.
  4. riavviare Eclipse

Se tutto questo fallisce:

  1. Esporta le preferenze
  2. Exit Eclipse
  3. Eliminare (o rinominare) la cartella .metadata nell'area di lavoro. È una cartella invisibile su alcuni sistemi operativi ma è lì.
  4. Avviare Eclipse nuovo
  5. importare le preferenze
  6. Importa tutti i progetti di nuovo. Per questo, seleziona lo spazio di lavoro. Eclipse elencherà quindi tutti i progetti nella finestra di dialogo e potrai selezionarli tutti contemporaneamente.

correlati:

  • Bug 430605 - [selezionare] la selezione del testo attuale non può essere aperto in un editor
+0

+1. Più adattato alla tua domanda rispetto alla mia risposta (cancellata). – VonC

+0

@ Aaron, c'è qualcos'altro che hai provato? Ho ancora questo errore dopo aver eseguito tutti i passaggi precedenti! – Mercenary

+0

@Mercenary: guarda le mie modifiche. Fammi sapere se per te va bene. –

2

C'è un bug in Eclipse (in Luna almeno) per un tempo molto preciso flusso di lavoro, che potrebbe non essere la risposta a questa domanda specifica, ma potrebbe essere utile per gli altri.

Se si esegue un'importazione nella cartella src (ovvero la cartella src è attiva prima di eseguire l'importazione) da un jar estratto (come codice sorgente) e si collocano i punti di interruzione nei file nidificati * .java nei pacchetti nidificati, non colpirà quei punti di interruzione. Per far funzionare le cose, è necessario continuare a premere F3 invece di usare "Dichiarazione aperta" per ottenere il file * .java in cui si desidera impostare un punto di interruzione, quindi aggiungere il punto di interruzione facendo doppio clic sul margine sinistro. Quindi esegui> Debug come> Applicazione Java.

Problemi correlati