2012-06-22 9 views
6

Sto usando Eclipse per lo sviluppo Android e ho già impostato il mio stile di formattazione del codice, ma ho ancora i metodi anonimi che non sono riuscito a capire come formattare in Eclipse . Ecco come Eclipse ora formatta i metodi anonimi:Come impostare il formattore del codice per i metodi anonimi Java in Eclipse

// The BroadcastReceiver that listens for discovered devices and 
    // changes the title when discovery is finished 
    private final BroadcastReceiver mReceiver = new BroadcastReceiver() { 
                @Override 
                public void onReceive(Context context, Intent intent) { 
                 String action = intent.getAction(); 
                 Utils.Log.i("BLUETOOTH: " + action); 
                 if (BluetoothDevice.ACTION_FOUND.equals(action)) { 
                  // Get the 
                  // BluetoothDevice 
                  // object from the 
                  // Intent 
                  BluetoothDevice device = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE); 
                  // If it's already 
                  // paired, skip it, 
                  // because it's been 
                  // listed already 
                  if (device.getBondState() != BluetoothDevice.BOND_BONDED) { 
                   if (mNewDevicesArrayAdapter.getCount() == 0) { 
                    mNewDevicesArrayAdapter.add(device); 
                   } 
                   btDevicesUpdateList.add(device); 
                  } 
                 } 
                 else if (BluetoothAdapter.ACTION_DISCOVERY_FINISHED.equals(action)) { 
                  mNewDevicesArrayAdapter.setItems(btDevicesUpdateList); 
                  mNewDevicesArrayAdapter.notifyDataSetChanged(); 
                  btDevicesUpdateList.clear(); 
                  mBtAdapter.startDiscovery(); 
                 } 
                 else if (BluetoothAdapter.ACTION_STATE_CHANGED.equals(action)) { 
                  if (mBtAdapter.getState() == BluetoothAdapter.STATE_ON) { 
                   switchToView(viewBluetoothOn); 
                   firstTimeDiscover(); 
                  } 
                  else if (mBtAdapter.getState() == BluetoothAdapter.STATE_OFF) { 
                   switchToView(viewBluetoothOff); 
                  } 
                 } 
                } 
               }; 

Vedere? È molto schifoso. Qual è l'impostazione corretta per formattare la dichiarazione del metodo anonimo per rimanere sul lato sinistro e non andare sotto il carattere uguale =?

+0

Si prega di inviare i contenuti dei tuoi .settings/org.eclipse.jdt.core.prefs –

+3

Ho passato cinque minuti buoni pulizia che la formattazione terribile, solo per rendersi conto la domanda è: * su * detto terribile formattazione. **** headdesk **** –

+0

@EugeneKuleshov è l'impostazione specifica del progetto. – papaiatis

risposta

0

Sembra che tu abbia qualche tipo di impostazioni personalizzate del formattatore. Passare alle proprietà del progetto/Stile codice Java/Formatter/Abilitare le impostazioni specifiche del progetto e quindi selezionare il profilo del programma di formattazione integrato "Convenzioni Java".

+0

Sì, ce l'ho. Come ho già detto nella mia domanda ho già impostato alcune impostazioni di formattazione personalizzate ma non so cosa fare con la formattazione dei metodi di Anonymus ... – papaiatis

3

Credo che l'impostazione che causa questa formattazione errata sia "Allinea campi in colonne", se la disattivi, l'implementazione di classe/interfaccia dovrebbe essere rientrata dall'inizio della riga anziché degli uguali.

Ho aperto un errore in eclipse per correggere il comportamento predefinito o per aggiungere un'altra impostazione per le implementazioni di classe/interfaccia.

https://bugs.eclipse.org/bugs/show_bug.cgi?id=385901

2

Il lavoro-a-rotonda per questo problema è di cambiare un po 'il vostro stile di codifica. Taglia e incolla quanto segue ed esegui il tuo formattatore. Lo stile n. 2 sembrerà meno schifoso.

// **Style #1** - Formatter handles poorly 
JDialog jDialog1 = new JDialog(new JFrame()) { 
    public void setBackground(final Color c) { 
     super.setBackground(c); 
    } 
}; 

// **Style #2** - Formatter handles well. 
JDialog jDialog2; 
{ 
    jDialog2 = new JDialog(new JFrame()) { 
     public void setBackground(final Color c) { 
      super.setBackground(c); 
     } 
    }; 
} 
+1

Works! Eclipse dovrebbe risolvere il programma di formattazione come suggerito da @RedLenses, ma per ora è una buona soluzione. –

Problemi correlati