Domanda

La domanda ha due parti, una delle quali ho già la risposta.

  1. Come rimuovere automaticamente gli spazi vuoti finali dall'intero file che si sta modificando ? - > Risposta: usa il plugin AnyEdit , che può essere impostato per farlo su qualsiasi salvataggio nel file.
  2. Come rimuovere automaticamente gli spazi vuoti finali solo dalle righe che ho modificato ? - > Questo non lo so e apprezzerei qualsiasi aiuto.
È stato utile?

Soluzione

  1. Rimozione di spazi bianchi dall'intero file in fase di modifica :

Preferenze - > Java - > Editor - > Salva azioni - > check Esegui le azioni selezionate su save - > controlla Altre azioni - > fai clic su Configura .. - > vai alla scheda Organizzazione codice - > check Rimuovi gli spazi bianchi finali - > seleziona Tutte le linee .

  1. Rimozione di spazi bianchi solo dalle righe che ho modificato :

Preferenze - > Java - > Editor - > Salva azioni - > seleziona " Esegui le azioni selezionate su save - > controlla Formatta il codice sorgente - > seleziona Formatta righe modificate .

Nota che non è necessario fare clic su Configura le impostazioni del formatter nella pagina Formatter - tutti gli stili di codice includono automaticamente la rimozione degli spazi bianchi finali. Almeno non sono riuscito a trovare un'impostazione per questo nella configurazione di Formatter, e ha funzionato per gli stili Java Convenzioni, Eclipse, Eclipse 2.1 integrati, nonché GoogleStyle .

Quando si utilizza questa configurazione, è ovviamente necessario anche disattivare la soluzione alla parte 1 della domanda.

Eclipse version checked: 4.5.2

Altri suggerimenti

Presumo che le tue domande riguardino il codice Java. In tal caso, non è necessario alcun plug-in aggiuntivo per ottenere 1). Puoi semplicemente andare su Preferenze - > Java - > Editor - > Salva azioni e configuralo per rimuovere gli spazi finali finali .

A quanto pare vuoi anche rendere questa impostazione a livello di squadra, giusto? Per semplificare la vita ed evitare di dover ricordare di averlo configurato ogni volta che si dispone di un nuovo spazio di lavoro, è possibile impostare l'azione di salvataggio come preferenza specifica del progetto che viene memorizzata nel proprio SCM insieme al codice.

Per farlo, fai clic con il pulsante destro del mouse sul tuo progetto e vai su Proprietà - > Editor Java - > Salva azioni . Da lì puoi abilitare le impostazioni specifiche del progetto e configurarlo per rimuovere gli spazi bianchi finali (tra le altre cose utili).

NB : questa opzione è stata rimossa in Eclipse Kepler (4.3) e versioni successive.

NB # 2: L'opzione sembra essere tornata in Eclipse Luna - Luna Service Release 1a (4.4.1)

Non è necessario alcun plugin per farlo. Ad esempio, se si codifica JAVA, è possibile cancellare gli spazi bianchi finali configurando le azioni di salvataggio:

Eclipse 3.6

Preferenze - > Java - > Editor - > Salva azioni - > Controlla Esegui le azioni selezionate su save - > Controlla Altre azioni - > Fai clic sul pulsante Configura .. .

Nella scheda Organizzazione codice , selezionare Rimuovi spazio bianco finale

PyDev può farlo Ctrl + Maiusc + F se l'opzione di formattazione del codice è impostata su farlo, o da durante il salvataggio :

Eclipse - > Finestra - > Preferenze - > PyDev - > Editor - > Stile codice - > Formattatore di codice :

Uso almeno questi:

  • Formato automatico prima di salvare
  • Linee di taglio giuste?
  • Aggiungi nuova riga alla fine del file

Procedi come segue:

Preferenze - > Java - > Editor - > Salva azioni

inserisci qui la descrizione dell'immagine

È possibile mappare una chiave in Eclipse per rimuovere manualmente gli spazi bianchi finali nell'intero file, ma solo su richiesta anziché automaticamente al salvataggio. (Preferenza / Chiavi e quindi mappare una serie di chiavi su File / Rimuovi spazio bianco finale) Questo può essere utile se si desidera disinfettare tutti i nuovi file, mantenendo intatto il codice legacy.

Un'altra strategia è quella di attivare la visualizzazione visiva degli spazi bianchi, quindi almeno saprai quando aggiungi degli spazi bianchi finali. Per quanto ne so, non c'è modo di mostrare solo gli spazi bianchi finali, ma sarò felice di essere smentito.

In un pizzico, per quegli editor che non supportano affatto la rimozione di spazi bianchi finali (ad es. l'editor XML), puoi rimuoverlo da tutte le righe facendo una ricerca e sostituzione, abilitando espressioni regolari, quindi trovando " [\ t] + $ " e sostituendolo con " " (Vuoto). Probabilmente c'è una regex migliore per farlo, ma funziona per me senza la necessità di installare AnyEdit.

Direi anche AnyEdit. Non fornisce queste funzionalità specifiche. Tuttavia, se tu e il tuo team utilizzate le funzionalità di AnyEdit ad ogni azione di salvataggio, quando aprite un file, questo non deve avere spazi vuoti finali.

Quindi, se modifichi questo file e se aggiungi nuovi spazi finali, durante l'operazione di salvataggio, AnyEdit rimuoverà solo questi nuovi spazi, poiché sono gli unici spazi finali in questo file.

Se, per alcuni motivi, devi mantenere gli spazi finali sulle righe che non sono state modificate da te, allora non ho una risposta per te e non sono sicuro di questo tipo di funzionalità esiste in qualsiasi plugin Eclipse ...

È impossibile farlo in Eclipse in modo generico in questo momento, ma può essere cambiato dato con le conoscenze di base di Java e un po 'di tempo libero per aggiungere il supporto di base per questo https://bugs.eclipse.org/bugs/show_bug.cgi?id= 180349

Il problema dipendente: https://bugs.eclipse.org/bugs/ show_bug.cgi? id = 311173

Per php esiste anche un'opzione: inserisci qui la descrizione dell'immagine

Esiste un modo davvero semplice per farlo con sed, lo strumento da riga di comando Unix. Probabilmente potresti creare una macro in Eclipse per eseguire questo:

sed -i 's/[[:space:]]*$//' <filename>

Come ha detto @Malvineous, non è professionale, ma una soluzione alternativa utilizzare il metodo Trova / Sostituisci per rimuovere lo spazio finale (in basso inclusa la scheda U + 0009 e lo spazio bianco U + 0020).
Premi Ctrl + F (o comando + F)

  1. Trova [\ t] [\ t] * $
  2. Sostituisci con stringa vuota
  3. Utilizza Espressioni regolari
  4. Sostituisci tutto

in più:
Per rimuovere lo spazio iniziale, trova ^ [\ t] [\ t] * anziché [\ t] [\ t] * $
Per rimuovere le righe vuote, trova ^ \ s * $ \ r? \ N

Non sono a conoscenza di alcuna soluzione per la seconda parte della tua domanda. Il motivo è che non è chiaro come definire Ho cambiato . Cambiato quando? Solo tra 2 salvataggi o tra commit ... Fondamentalmente - dimenticalo.

Suppongo che ti piacerebbe attenersi ad alcune linee guida, ma non toccare il resto del codice. Ma la linea guida dovrebbe essere usata nel complesso, e non per morsi e pezzi. Quindi il mio suggerimento è: modifica tutto il codice sulla linea guida: è un'operazione una tantum, ma assicurati che tutti i tuoi sviluppatori abbiano lo stesso plugin (AnyEdit) con le stesse impostazioni per il progetto.

Ho usato questo comando per git: git config --global core.whitespace cr-at-eol

Rimuove i caratteri ^ M che stanno trascinando.

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