我想使用Textmate的内置Tidy(Ctrl + Shift + H)功能来缩进我的HTML'而不修改代码中的任何内容。我已经编写了非常简洁的HTML,我只需要Tidy用Soft-tabs缩进我的代码。
目前它打破了很多东西,格式也不完美。有人可以为我写一个Tidy配置:
1 - 仅限缩进,别无其他。
2 - 我不需要在换行符上推送某些标签。例如: Tidy这样做:
<li>
<a href="#">link</a>
</li>
原始代码(或我需要的):
<li><a href="#">link</a></li>
..所以如果我可以预先定义哪些标签保持内联,那就太棒了。
基本上,我想用Tidy复制Dreamweaver的HTML格式化功能,但上面提到的两件事非常重要。
我认为这是我当前的(默认?)Tidy配置:
${TM_TIDY:-tidy}" -f /tmp/tm_tidy_errors -iq -utf8 \
-wrap 0 --tab-size $TM_TAB_SIZE --indent-spaces $TM_TAB_SIZE \
--indent yes \
${TM_XHTML:+-asxhtml --output-xhtml yes} \
${TM_SELECTED_TEXT:+--show-body-only yes} \
--enclose-text yes \
--doctype strict \
--wrap-php no \
--tidy-mark no`
我非常感谢任何帮助。谢谢!
答案 0 :(得分:6)
整洁并不意味着你想要使用它的方式。它不是通用代码格式库,而是HTML清理工具。来自the homepage:
有几个人问过Tidy 可以保留原始布局。一世 很遗憾地说这会是 由于这种方式很难支持 整洁实施。整洁开始 从中构建一个干净的解析树 源文件。解析树没有 包含有关的任何信息 原始布局。
我真的不认为有一个很好的方法让它做你想做的事情,但你可以玩whole list of options并看看哪些更接近你的理想。
答案 1 :(得分:2)
尝试Pretty Diff。它将美化您的代码,而无需对您的代码做任何假设。你可以提交小的不完整的代码片段,Pretty Diff会输出这个带有缩进的小片段。
答案 2 :(得分:1)
在tiddy配置文件中,将indent选项设置为no。
答案 3 :(得分:1)
我希望这对在此页面上绊脚的人有用:
如果您选择要格式化的文本(也称为重新发送), TextMate 将仅对该选择应用特定操作。所以,如果您 CMD + A 您的文档,然后应用Tidy(从Bundles&gt; HTML菜单或 CTRL + SHIFT + H 快捷方式)它将缩进选择,跳过验证时发出的警报,当您执行Tidy时没有选择。这些警报有时可能是不必要的,因为我们经常处理页面片段(至少我这样做)。
答案 4 :(得分:0)
将--indent yes
更改为--indent auto
对我有用。它不可配置,但似乎很好地处理了大多数情况。
答案 5 :(得分:-1)
所以,Nimbuz,你还提到“目前它打破了很多东西” - 你的意思是它引入了换行符,或者它生成的HTML无法正常显示?因为后者发生在我身上非常糟糕,如果你已经开始使用特殊的配置,我很乐意看到它(尝试做你想要的同样的事情......只是格式化)。谢谢!
答案 6 :(得分:-3)
想出内联标签,现在就可以使用了!