Antwort
 
Themen-Optionen
Alt 14.06.2007, 14:31 Nach oben    #1
Ben
Benjamin Klaile
 
Benutzerbild von Ben
 
Registriert seit: 02.12.2004
Ort: Remagen
Beiträge: 4.471
Standard spaces am Zeilenanfang automatisch in tabs umwandeln

Hallo,
folgende Problemstellung.

Ich habe in einer Datei bei einigen Zeilen anstatt tabs, spaces am Zeilenbeginn. Diese würde ich nun gerne automatisch in tabs umwandeln, weil das händisch doch ein relativ großer Aufwand ist.

Kann man das mit Eclipse irgendwie machen?
Herzlichen Dank.
Ben ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 14.06.2007, 14:56 Nach oben    #2
Benjamin Steininger
 
Benutzerbild von robo47
 
Registriert seit: 02.06.2005
Ort: weiher im tiefsten Odenwald
Beiträge: 1.177
Standard

alles markieren, einmal tab drücken und einmal shift+tab, damit rückst du es um eine Ebene ein und wieder zurück und es sollte alle Leerstellen (wenn deren Anzahl stimmt) in Tabs umwandeln
robo47 ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 14.06.2007, 15:04 Nach oben    #3
Ben
Benjamin Klaile
 
Benutzerbild von Ben
 
Registriert seit: 02.12.2004
Ort: Remagen
Beiträge: 4.471
Standard

Klappt nicht.

Wenn ich so etwas hier habe
PHP-Code:
$var 0;

if(
$var == 0) {
    for(
$i 0$i 3$i++) {
        echo 
$i '<br>';
    }

dann will ich ja vor dem echo zwei tabs haben.

Dein Vorschlag hat auch irgendwie .. nicht wirklich was geändert *g*
Ben ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 14.06.2007, 15:10 Nach oben    #4
Martin Breuer
 
Benutzerbild von WarrenFaith
 
Registriert seit: 17.08.2005
Ort: Berlin
Beiträge: 1.642
Standard

ich würde einfach Replace nutzen.
Du markierst ein Tab, kopierst es und machst dann das Replace auf. Tippst im "suchen nach" 4 mal auf das Space und per paste wandert das Tab in den "ersetzen durch". Alles ersetzen, fertig.
__________________
I did it my way - Senseless-Blog
WarrenFaith ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 14.06.2007, 15:11 Nach oben    #5
 
Registriert seit: 10.11.2005
Ort: Schweiz -> Basel
Beiträge: 208
Standard

Sollte es nicht reichen, die Einstellungen der entsprechenden Sprache zu ändern, oder gilt das dann nur für Zukünftiges? Hab grad kein Eclipse hier.

Google hat noch dies hier ausgespuckt: http://andrei.gmxhome.de/anyedit/
think ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 14.06.2007, 15:21 Nach oben    #6
Ben
Benjamin Klaile
 
Benutzerbild von Ben
 
Registriert seit: 02.12.2004
Ort: Remagen
Beiträge: 4.471
Standard

Zitat:
Zitat von WarrenFaith Beitrag anzeigen
ich würde einfach Replace nutzen.
Geht nicht, weil nur am Zeilenbeginn tabs verwendet werden sollen.

Bei so etwas hier
PHP-Code:
$var               0;
$varWithLongerName 1
sollen die spaces vor dem Gleichheitszeichen auch spaces bleiben.


@think:
Schaue ich mir gerade mal an, was du da verlinkt hast.
Mit den Einstellungen .. wenn mir einer sagen kann, wie .. teste ich das aus!
Ben ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 14.06.2007, 15:40 Nach oben    #7
Martin Breuer
 
Benutzerbild von WarrenFaith
 
Registriert seit: 17.08.2005
Ort: Berlin
Beiträge: 1.642
Standard

Dann bleibt nur ein Editor der RegEx unterstützt. Notepad++ kann das.
__________________
I did it my way - Senseless-Blog
WarrenFaith ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 14.06.2007, 15:40 Nach oben    #8
Jonas
 
Benutzerbild von Artemis
 
Registriert seit: 03.06.2006
Beiträge: 239
Standard

Könntest folgendes Versuchen:

Eclipse kann ja Reguläre Ausdrücke suchen und ersetzen.
Nimm folgenden Ausdruck:
Code:
^(\t*) {4}
Als Ersatz gibts du $1 + einen Tab ein.

Nun gehst du auf Replace All. Das machst du dann sooft, wie du maximal Einrückungen hast.

Ist nicht ganz so viel Handarbeit.

EDIT:
Einziges Problem ist, dass du den Cursor noch jedem Vorgang wieder an den Anfang der Datei setzen musst.

EDIT2:
Du kannst auch einfach eine HTML-Seite anlegen, mit folgendem Inhalt:
Dann Text einfügen auf kovertieren klicken und Text kopieren.
PHP-Code:
<textarea id="text" style="width:100%; height: 30em;"></textarea>
<
p onclick="convert();">Konvertieren</p>
<
script type="text/javascript">
function 
convert()
{
    var 
textarea document.getElementById('text');
    var 
text textarea.value;
    
    var 
tempText '';
    while (
tempText != text)
    {
        
tempText text;
        
text text.replace(/^(t*) {4}/gm'$1\t');
    }
    
    
textarea.value text;
}
</script> 
__________________
Applikations-Programmierung:
BlitzMax, BlitzPlus

Webentwicklung:
PHP, (X)HTML, CSS, JavaScript, MySQL



Geändert von Artemis (14.06.2007 um 15:53 Uhr).
Artemis ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 14.06.2007, 17:34 Nach oben    #9
Martin Eisengardt
 
Registriert seit: 30.03.2006
Ort: Pfinztal
Beiträge: 355
Standard

Mit der aktuellsten Version der WebStandardTools und des PDT-Paketes:

Windows->Preferences->PHP->Formatter
Dort die Einstellungen machen, wie man sie sich wünscht.

Und nun im Editor einen Rechtsklick und auf Formatter->Format Document.


Einziges Problem: Das funktioniert nicht mit dem aktuellen Release, sondern nur mit dem neuesten CVS-Snapshot. Denn das aktuelle Release kann vieles noch nicht einstellen. So kann man im aktuellen Release beispielsweise noch nicht einstellen, dass man Geschweifte Klammern in der gleichen Zeile haben will usw.

Also entweder noch ne Weile warten oder doch wie oben beschrieben mit Suchen-Ersetzen arbeiten. Aber merks dir mal vor, denn das ganze wird wie bei Java-Dateien irgendwann funktionieren. Dann kannst du jede "krumpelige" Source-Datei mit zwei Mausklicks so formatieren, dass sie deinen Anforderungen genügt...

P.S.: Der Formatter ist im aktuellen Release auch noch leicht verbuggt und kriegt das nicht immer gut hin.
__________________
Open Sourcing the Online Gaming Universe
PHP/SQL/Java/C++/Assembler.
Seit Jahren Mitglied und Entwickler in einem der wohl größten Java-Projekte der Welt: http://weblogs.java.net/blog/hansmul...e_desktop.html
mepeisen ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 14.06.2007, 17:36 Nach oben    #10
Ben
Benjamin Klaile
 
Benutzerbild von Ben
 
Registriert seit: 02.12.2004
Ort: Remagen
Beiträge: 4.471
Standard

Hi,
werde ich später mal ausprobieren.

Ich nutze
Code:
EasyEclipse PHP Version: 1.2.1.1
Based on Eclipse build id: M20060921-0945
Ben ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 15.06.2007, 16:07 Nach oben    #11
Martin Eisengardt
 
Registriert seit: 30.03.2006
Ort: Pfinztal
Beiträge: 355
Standard

Leider weiss ich auswendig nicht, was das einsetzt. Ich denke mal, EasyEclipse ist eine Art Distribution. Ich beziehe mich konkret auf das PDT Modul: http://www.eclipse.org/pdt/
Das ist sozusagen das Nachfolgeprodukt von phpeclipse.

Da es meines Wissens nichts anderes gibt, dürften wir vom gleichen reden
__________________
Open Sourcing the Online Gaming Universe
PHP/SQL/Java/C++/Assembler.
Seit Jahren Mitglied und Entwickler in einem der wohl größten Java-Projekte der Welt: http://weblogs.java.net/blog/hansmul...e_desktop.html
mepeisen ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 15.06.2007, 17:12 Nach oben    #13
Benutzer
 
Benutzerbild von xabbuh
 
Registriert seit: 03.12.2005
Ort: Osnabrück
Beiträge: 75
Standard

EasyEclipse setzt dann scheinbar nicht auf PDT sondern PHPEclipse. Dort gibt es meines Wissens nach aber auch einen extra Formatter für PHP-Quellcode.

Gruß
Christian


Nachtrag: Window -> Preferences -> PHPeclipse Web Development -> PHP -> Formatter
__________________
"Wer die Freiheit aufgibt, um Sicherheit zu gewinnen, der wird am Ende beides verlieren" (Benjamin Franklin)
xabbuh ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 15.06.2007, 17:28 Nach oben    #14
Ben
Benjamin Klaile
 
Benutzerbild von Ben
 
Registriert seit: 02.12.2004
Ort: Remagen
Beiträge: 4.471
Standard

Ja, das kenn ich schon @Christian, aber ich weiß nicht, wie ich da einstellen kann, dass existente Spaces am Zeilenanfang durch die entsprechenden tabs ersetzt werden sollen.
Ben ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 15.06.2007, 20:06 Nach oben    #15
Jonas
 
Benutzerbild von Artemis
 
Registriert seit: 03.06.2006
Beiträge: 239
Standard

Bei Style bei "Indentation is represented by a Tab" ein Häkchen setzen und die Tab-Breite auf 4 stellen.
Dann im PHP-Code Rechtsklick und "Source>Format" oder Strg+Shift+F.
__________________
Applikations-Programmierung:
BlitzMax, BlitzPlus

Webentwicklung:
PHP, (X)HTML, CSS, JavaScript, MySQL


Artemis ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 17.06.2007, 22:52 Nach oben    #16
Erfahrener Benutzer
 
Registriert seit: 12.06.2006
Beiträge: 196
Standard

Nimm doch einen Hex-Editor, so hab ich es gemacht. Einfach 0A 20 mit 0A 09 (?) ersetzen. Geht am IMO am schnellsten ohne Programmieraufwand.
FloB ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 18.06.2007, 06:54 Nach oben    #17
Martin Eisengardt
 
Registriert seit: 30.03.2006
Ort: Pfinztal
Beiträge: 355
Standard

Zitat:
Zitat von FloB Beitrag anzeigen
Nimm doch einen Hex-Editor, so hab ich es gemacht. Einfach 0A 20 mit 0A 09 (?) ersetzen. Geht am IMO am schnellsten ohne Programmieraufwand.
Bringt nur nix, wenn man mehr als einmal eingerückt hat. Zudem wäre es 0A 20 20 20 20 oder so...
__________________
Open Sourcing the Online Gaming Universe
PHP/SQL/Java/C++/Assembler.
Seit Jahren Mitglied und Entwickler in einem der wohl größten Java-Projekte der Welt: http://weblogs.java.net/blog/hansmul...e_desktop.html
mepeisen ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 18.06.2007, 13:54 Nach oben    #18
Erfahrener Benutzer
 
Registriert seit: 12.06.2006
Beiträge: 196
Standard

Joa, muss man halt dann nach 09 20 weitersuchen oder vorher 20 20 in 09 09 umwandeln, wenns denn sein muss.


Edit: Ach ne, wenn man 20 20 umwandeln würde könnten ja auch WS zwischendurch ersetzt werden. Also dann doch die erste Methode .
FloB ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus


Alle Zeitangaben in WEZ +2. Es ist jetzt 05:59 Uhr.


Powered by vBulletin® Version 3.7.3 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44