2010-02-23 6 views
11

Sto cercando di utilizzare Eclipse e NetBeans per la programmazione in C (non C++). Esiste una funzione/plug-in per loro che mantiene automaticamente sincronizzati i file di origine e di intestazione?Auto generare file di intestazione per un file sorgente C in un IDE

Come in, quando implemento una funzione nel file di origine, inserisce automaticamente le righe corrette nel file di intestazione?

Ho cercato soluzioni come lzz, ma non sono quello che sto cercando.

+0

Questi sono solitamente implementati tramite macro. Non ho mai visto caratteristiche IDE di per sé, anche se mi piacerebbe saperne di più. – dirkgently

+0

Ho notato che non hai taggato la domanda come eclipse-cdt. Se stai usando eclipse con C dovresti installarlo http://www.eclipse.org/cdt/ – Ryu

risposta

10

Eclipse CDT consente di scrivere un prototipo nel file di intestazione e di aggiungerlo automaticamente al file C.

Istruzioni

  1. Aggiungi prototipo di funzione al file .h vuoto pippo()
  2. Selezionare il nome della funzione "foobar" (provare un doppio click)
  3. Nella barra degli strumenti fare clic su Source -> Implementare metodo
  4. guidata fino

Questo è probabilmente il migliore che si' usciremo dalla scatola

+0

Non funziona per me in Eclipse 3.6.2 (versione CDT 7.0.1.201009241320). Mi viene chiesto di scegliere un metodo da implementare da una lista ... una lista vuota! Intendevi davvero C, e non C++? Perché solo C++ utilizza il "metodo" terminologico. –

0

D'accordo con l'approccio proposto da Ryu. In C, non creerei automaticamente le dichiarazioni nelle intestazioni. Questa dovrebbe essere un'azione esplicita che rende pubblico un simbolo dal modulo C.

Tuttavia se la dichiarazione/implementazione sono già impostate e si desidera modificarle, immagino che con Eclipse si desideri utilizzare Toggle Function Definition in un possibile flusso di lavoro in cui si copiano nei risultati intermedi intermedi degli Appunti e li si incollano in un secondo momento sopra modifica della dichiarazione o dichiarazione di attuazione.

Inoltre, quando si cambiano le cose, è necessario ridenominare intensivamente il refactoring.