2011-01-14 3 views
7

Есть ли простой способ переформатировать мой HTML из Komodo Edit или автоматизировать процесс против Tidy? Что-то вроде Ctrl + K, Ctrl +D в Visual Studio будет блестящим. В настоящее время запущен Ubuntu с установленным Tidy.Komodo Edit - HTML Reformatting/Tidy

ответ

8

Если вы хотите решение, которое только прямые наладочные работы, сделать следующее:

Откройте панель инструментов справа. Нажмите на передачу и выберите «Новый макрос», назовите ее, как хотите.

Получить код макроса здесь:

komodo edit macro

Он включает в себя код из http://jsbeautifier.org/ и работает как шарм ...

Далее следует настроить нажатие клавиши:

Выберите новый макрос в панели инструментов Теперь переходят к привязкам клавиша

Тип последовательность и он расскажет вам, если последовательность Введена доступна. Я использую ctrl + /, потому что они близки друг к другу.

Cheers!

+1

Кстати, если вы хотите, чтобы результат jsbeautifier выглядел как Ctrl-k, Ctrl-d форматирование Visual Studio, отредактируйте макрос и перейдите в «JavaScript». Теперь измените indent_size на 4, измените brace_style на «end-expand» и добавьте «good_stuff: true» в конце. –

1

Вы можете настроить команду для запуска, чтобы заменить выбор html на опрятную версию. Нажмите Ctl + R, чтобы открыть окно команд и введите tidy -utf8 -asxhtml -i для команды, которая форматирует форматированный xhtml с использованием кодировки utf8. Проверьте два поля: «Пропустить выбор в качестве входных данных» и «Вставить вывод». Вы также можете указать специальные привязки клавиш.

Пример скриншот http://grab.by/8C3t

7

Я found this formatting script (macro) и адаптировать его для моего личного использования с последним Komodo Edit (v6.1.0). Он работает хорошо, и я включил форматирование JavaScript, предоставленное комментатором, но я думаю, что он может работать только с Komodo IDE. Для моих целей это неважно. Возможно, кто-то там может найти универсальное улучшение (используя что-то вроде 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

Хотите использовать вкладки вместо пробелов?

В дополнение к тому, что сказал @justquick, выполните поиск/замену (Ctrl + h). Заменив двойное пространство () на вкладку (\t, убедитесь, что regex отмечен галочкой), чтобы вместо html был помещен вкладку. По умолчанию Tidy использует два пробела, вам придется изменить свою находку, если вы настроили Tidy по-разному.

0

1 Goto Toolbox => Add => New Command

2 Введите аргументы аккуратных командной строки в поле Run:

tidy -config tidy_config_html.txt 

3 Проверить все ящики

4 Введите путь прибраться в Start In поле

5 Щелкните вкладку Key Binding

-Используйте Ctrl +- как New Key Sequence

-Нажмите Ctrl + A, Ctrl +-

1

Ответ, который TAOcode сделал это здорово, но в более новых версиях Комодо несколько вещей, которые изменились, так вот мое обновление кода, чтобы заставить его работать снова:

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(); 
} 

Большие различия линии 5: komodo.document.language становится komodo.view.language и строка 40: Run_RunEncodedCommand становится ko.run.runEncodedCommand

Смежные вопросы