2011-01-14 19 views

Odpowiedz

8

Jeśli chcesz rozwiązanie, które po prostu prosto działa, wykonaj następujące czynności:

Otwórz panel narzędzi po prawej stronie Kliknij na koło zębate i wybierz Nowe makro, nadaj mu nazwę.

Pobierz kod makra tutaj:

komodo edit macro

Zawiera kod z http://jsbeautifier.org/ i działa jak czar ...

Dalej jest utworzenie klawiszy:

Wybierz swoje nowe makro w przyborniku Teraz przejdź do kluczowych powiązań

rodzaj sekwencji i powie to, czy sekwencja wpisany jest dostępna. Używam ctrl + /, ponieważ są one blisko siebie.

Pozdrawiam!

+1

Przy okazji, jeśli chcesz, aby wyjście jsbeautifier wyglądało jak formatowanie Ctrl-k, Ctrl-d programu Visual Studio, edytuj makro i przejdź do przypadku "JavaScript". Teraz zmień indent_size na 4, zmień brace_style na "end-expand" i dodaj "good_stuff: true" na końcu. –

1

Możesz ustawić polecenie, aby uruchomić, aby zastąpić wybór html wersją schludną. Naciśnij Ctrl + R, aby wywołać okno poleceń i wprowadź tidy -utf8 -asxhtml -i dla polecenia, które formatuje wcięty xhtml przy użyciu kodowania UTF8. Zaznacz dwa pola wyboru "Przekaż wybór jako dane wejściowe" i "Wstaw dane wyjściowe". Możesz także określić niestandardowe powiązania klawiszy.

Przykład ekranu http://grab.by/8C3t

7

I found this formatting script (macro) i dostosować go do mojego osobistego użytku z najnowszej Komodo Edit (wersja 6.1.0). Działa to dobrze i uwzględniłem formatowanie JavaScript dostarczone przez komentatora, ale myślę, że może działać tylko z IDE Komodo. Nie ma to znaczenia dla moich celów. Być może ktoś tam może znaleźć uniwersalne ulepszenie (używając czegoś w stylu html tidy).

komodo.assertMacroVersion(3); 
if (komodo.view) { komodo.view.setFocus(); } 

var formatter; 
var language = komodo.document.language; 
switch (language) { 
    case 'Perl': 
     formatter = 'perltidy -i=2 -pt=2 -l=0'; 
     break; 
    case 'XML': 
    case 'XUL': 
    case 'XLST': 
     formatter = 'tidy -q -xml -i -w 80'; 
     break; 
    case 'HTML': 
     formatter = 'tidy -q -asxhtml -i -w 120'; 
     break; 
    //case 'JavaScript': 
    // ko.views.manager.currentView.scimoz.selectAll(); 
    // ko.views.manager.currentView.scimoz.replaceSel(js_beautify(ko.views.manager.currentView.scimoz.text, {indent_size: 2})); 
    // return null; 
    default: 
     alert("I don't know how to tidy " + language); 
     return null; 
} 

//save current cursor position 
var currentPos = komodo.editor.currentPos; 

try { 
    // Save the file. After the operation you can check what changes where made by 
    // File -> Show Unsaved Changes 
    komodo.doCommand('cmd_save'); 

    // Group operations into a single undo 
    komodo.editor.beginUndoAction(); 

    // Select entire buffer & pipe it into formatter. 
    komodo.doCommand('cmd_selectAll'); 
    Run_RunEncodedCommand(window, formatter + " {'insertOutput': True, 'operateOnSelection': True}"); 

    // Restore cursor. It will be close to the where it started depending on how the text was modified. 
    komodo.editor.gotoPos(currentPos); 

    // On windows, when the output of a command is inserted into an edit buffer it has unix line ends. 
    komodo.doCommand('cmd_cleanLineEndings'); 
} 
catch (e) { 
    alert(e); 
} 
finally { 
    // Must end undo action or may corrupt edit buffer 
    komodo.editor.endUndoAction(); 
} 
0

Chcesz zamiast kart zamiast spacji?

Oprócz tego, co powiedział @justquick, wykonaj szukanie/zamiany (Ctrl + H). Zastępując podwójną spację () za pomocą tabulatora (\t, upewnij się, że zaznaczono regex), aby umieścić zakładkę html zamiast odstępów. Tidy domyślnie używa dwóch spacji, musisz zmienić swoje znalezisko, jeśli inaczej skonfigurowałeś Tidy.

0

1 Goto Toolbox => Add => Nowe polecenie

2 Wprowadź schludne argumenty wiersza polecenia w polu Run:

tidy -config tidy_config_html.txt 

3 Sprawdzić wszystkie pola

4 Wprowadź ścieżkę uporządkować w dziedzinie Start In

5 Kliknij Key Binding zakładka

6 Użyj Ctrl + 1 jako nowy klucz Sekwencja

7 Naciśnij Ctrl + A, Ctrl + 1

1

Odpowiedzią że TAOcode wykonana jest wielki, ale w nowszych wersjach Komodo kilka rzeczy się zmieniło, więc tutaj jest moja zmiana w kodzie, aby pracować jeszcze:

komodo.assertMacroVersion(3); 
if (komodo.view) { komodo.view.setFocus(); } 

var formatter; 
var language = komodo.view.language; 
switch (language) { 
    case 'Perl': 
     formatter = 'perltidy -i=2 -pt=2 -l=0'; 
     break; 
    case 'XML': 
    case 'XUL': 
    case 'XLST': 
     formatter = 'tidy -q -xml -i -w 500'; 
     break; 
    case 'HTML': 
     formatter = 'tidy -q -asxhtml -i -w 120'; 
     break; 
    //case 'JavaScript': 
    // ko.views.manager.currentView.scimoz.selectAll(); 
    // ko.views.manager.currentView.scimoz.replaceSel(js_beautify(ko.views.manager.currentView.scimoz.text, {indent_size: 2})); 
    // return null; 
    default: 
     alert("I don't know how to tidy " + language); 
     return null; 
} 

//save current cursor position 
var currentPos = komodo.editor.currentPos; 

try { 
    // Save the file. After the operation you can check what changes where made by 
    // File -> Show Unsaved Changes 
    komodo.doCommand('cmd_save'); 

    // Group operations into a single undo 
    komodo.editor.beginUndoAction(); 

    // Select entire buffer & pipe it into formatter. 
    komodo.doCommand('cmd_selectAll'); 
    ko.run.runEncodedCommand(window, formatter + " {'insertOutput': True, 'operateOnSelection': True}"); 

    // Restore cursor. It will be close to the where it started depending on how the text was modified. 
    komodo.editor.gotoPos(currentPos); 

    // On windows, when the output of a command is inserted into an edit buffer it has unix line ends. 
    komodo.doCommand('cmd_cleanLineEndings'); 
} 
catch (e) { 
    alert(e); 
} 
finally { 
    // Must end undo action or may corrupt edit buffer 
    komodo.editor.endUndoAction(); 
} 

Duże różnice linia 5: komodo.document.language staje się komodo.view.language, a wiersz 40: Run_RunEncodedCommand zmienia się w ko.run.runEncodedCommand