如何在Notepad ++中自动设置格式/缩进XML / HTML


627

有没有办法重新缩进一段代码?我正在寻找类似于Eclipse(自动格式化/缩进)中的Ctrl+ Shift+的东西F

要清楚一点

  • 我已经知道如何 Notepad ++ 之外格式化XML (如上所述,Eclipse可以很好地工作),因此我不需要一堆指向其他XML格式化工具的链接。
  • 我专门处理XML和HTML。
  • 理想情况下,键绑定与Eclipse中的键绑定一样方便,因此我不必中断工作流程。

我已经知道NppAutoIndent了-它无法工作,因为我正在使用XML,HTML和CSS。


Answers:


836

由于我升级到6.3.2,所以我使用XML Tools

  • 通过插件管理器安装XML工具。
  • 使用快捷键Ctrl+ Alt+ Shift+ B 菜单→插件→XML工具→漂亮打印)

在旧版本中:菜单→TextFX→HTML Tidy→Tidy:重新插入XML。


11
我安装了5.9.8版本,并添加了TextFX作为插件。插件->插件管理器->显示插件管理器。选择TextFX并安装。重新启动npp后,菜单“ TextFS”应该可见。
remipod 2012年

19
安装HTMLTidy插件时,请注意最新版本中缺少的libtidy.dll错误
阿莫斯·M·卡彭特

11
XML工具将格式化XHTML,但不会格式化HTML。尝试设置以下格式:<form><input><input><input><input><input></form>。您的代码必须采用这种格式才能正常工作,这对许多开发人员来说都是一笔交易的<form><input /><input /><input /><input /><input /></form>
麻烦

1
在菜单中找到格式选项:扩展程序-> XML工具->漂亮打印(带有换行符)
fl0w

1
请非常小心,如果div为空,它将把<div> </ div>变成<div />。对于呈现CSS样式的Web浏览器来说,这可能是一个重大变化。
蒂莫西·冈萨雷斯

53

安装Tidy2插件。我有Notepad ++ v6.2.2,并且Tidy2到目前为止运行良好。


5
我第二,Tidy2完成了HTML标记的工作,并且做得很好。
DWils 2013年

2
我第三。XML Tools对我不起作用,也无法与TextFX一起使用
Christian Vielma

4
谢谢..'XML Tools'在某些文件上不起作用,这对我有用。
Subhashi 2014年

4
注意:整理时,某些HTML字符实体将被其unicode字符替换。这与Tidy2配置或文档编码无关。例如,“&#8217;” 整理之前变为“'”(“智能”单引号)。这使Tidy2对我不可用。该项目自2012
。– trebormf 2015年

对于制表符,使用选项卡而不是空格是没有选择的。
cori

36

对于那些不知道的人,npp在插件和其他项目中提供了很多支持。您可以从SourceForge下载这些插件。

在此处输入图片说明

您需要XML Tools使用N ++设置文本格式

下载完后XML Tools..

退出记事本++

转到 C:\Program File\Notepad++...。您的N ++安装文件夹。

  1. 将来自xml工具的文件放在下面,该文件是通过以下方式下载到npp根文件夹中的: copy replace

在此处输入图片说明

  1. 转到..\Plugins子文件夹并放在下载的文件下面

在此处输入图片说明

重新启动并享受!!!

Ctrl+ Alt+ Shft+ B格式化。


4
我似乎没有我的插件管理器-我有notepad ++ 7.3.3。
猫头鹰

14

这是我第三次安装Windows和npp,经过一段时间后,我意识到整理功能将不再起作用。所以我用谷歌寻求解决方案,来到这个线程,然后在更多线程的帮助下,我终于解决了它。我将一劳永逸地总结所有动作。

  1. 安装TextFX插件:插件->插件管理器->显示插件管理器。选择TextFX字符并安装。重新启动npp后,菜单“ TextFX”应该可见。(信用:@remipod)。

  2. 通过从旧的npp软件包中粘贴Config文件夹来安装libtidy.dll:按照此答案中的说明进行操作。

  3. 在最新的npp安装目的地(通常为C:\ Program Files(x86)\ Notepad ++ \ plugins)中有一个Config文件夹后,npp需要对该文件夹的写访问权限。右键单击配置文件夹->属性->安全选项卡->选择用户,单击编辑->选中完全控制以允许读/写访问。请注意,您需要管理员权限才能执行此操作。

  4. 重新启动npp并验证TextFX-> TextFX HTML Tidy-> Tidy:重新插入XML即可。


如果您使用的是“allowAppDataPlugins”设置(允许每个用户插件),可以通过将做到这一点整洁文件夹步骤2在用户插件目录,并跳过步骤3
palswim

@palswim:好的,谢谢!当一个用户使用npp时,您的解决方案更干净。
弗拉基米尔·格里戈洛夫(Fladimir Grigorov)2013年


8

我必须在“插件”->“插件管理器”->“显示插件管理器”->“ 设置”更新代理设置,以查看“可用”列表中的所有插件。

之后,安装“ XML工具”非常容易,并且如上所述完成了请求的工作。


使用“ XML工具”时,缩进不是HTML + Javascript代码所要求的。找到“ UniversalIndentGUI”插件可以很好地完成此工作,方法是将语言设置为HTB(HTML,XML,XSL),然后从插件菜单运行“缩进文本”。
GuruM 2014年

6

要直接回答OP,请看一下这个人的网站: Thomas Hunter Notepad ++ Tidy for XML。只需执行简单的步骤,您就可以在NPP内很好地格式化XML。到目前为止,我发现的唯一异常是嵌套的自闭合元素EG:

<OuterTag>Text for outer element<SelfClosingTag/></OuterTag>

将整理到:

<OuterTag>Text for outer element
<SelfClosingTag/></OuterTag>

可能有一种方法可以解决此问题,但是目前,它已设法将文档中的行数减少了300k,可以解决此特殊异常。


1

我将记事本7.6与“插件管理”一起使用,但找不到XML工具。
我必须像@ some-java-guy在他的手册中那样手动安装它回答中除了我的plugins文件夹位于此处:C:\Users\<my username>\AppData\Local\Notepad++\plugins
在该目录中,我创建了一个新目录(名为XmlTools)并在那里复制了XMLTools.dll。(并且我将所有依赖项都复制到了程序文件中的Notepad ++目录。)


对于Notepad ++ v7.8.4,“插件管理”中提供了“ XML工具”。也许曾经有不兼容之类的东西。考虑到最新的提交是在两天前的github.com/morbac/xmltools
Micah Lindstrom

1

只需安装最新的notepad ++并安装fold by fold。在菜单栏上,选择Plugins-> Plugins Admin,然后选择fold By fold和安装。效果最好


这应该是现在的接受者答案,因为我无法使用xml工具或tidy2来工作。无论如何,我们可以为这种用法分配快捷方式吗?
Irfandi D. Vendy

Notepad ++(7.8.6)的最新版本非常令人失望。我尝试将IndentByFold安装到7.5.6版中,它破坏了Franco Stellari出色的AutoSave插件https://sites.google.com/site/fstellari/nppplugins。抱歉:对我来说,这是一个破坏交易的事情。(!)也许Frank Fesevur的IndentByFold本质上没有错。就目前而言,我怪罪了Notepad ++的最新版本,https://community.notepad-plus-plus.org/topic/16449。可怜
亨克

对我来说,它奏效了。我正在使用v7.8.4
Daniel Nyamasyo

我冒着在此处滑脱的风险,但是如果有人可以报告7.5.6 以后的版本,可与Franco Stellari的AutoSave 1.60插件一起使用,https://sites.google.com/site/fstellari/nppplugins,我可以使用切换到该版本将非常高兴。如果不是,则无法将Notepad ++ 7.5.6更新到更高版本。IndentByFold的0.7版也对我有用。但是我反对将(跟踪)空格放入空行中,IndentByFold就是这样做的。
Henke

我的Notepad ++版本是7.5.6。我现在尝试了1)XML工具,2)HTML Tidy,3)Tidy2和4)IndentByFold 0.7。XML Tools有点“有效”,但是却使我的HTML代码https://i.imgur.com/oLOB30Z.png变得很糟糕。HTML Tidy和Tidy2都不起作用。IndentByFold 0.7是我可以使用的唯一解决方案。我不喜欢它在空行上放置(尾随)空格,但是我可以忍受。我仍然不支持这个答案(作者Daniel Nyamasyo)。原因是我强烈不同意使用最新版本的Notepad ++的建议。
亨克
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.