Notepad ++会在</之后自动完成HTML结束标记(就像Dreamweaver一样)


20

在Dreamweaver中,键入</将自动关闭上一个打开的标签,因此您不必全部键入,并且不确定不确定是否关闭一个标签也很有用。是否有适用于Notepad ++的插件?

与文本FX不同,在文本FX中,键入开始标记/括号会在光标的另一侧添加闭合符。此行为是</键入时发生的自动完成,DW查找最里面的open标签是什么,然后将其关闭。我发现,当我可以选择使用DW时,与DW提供的其他功能相比,我将更频繁地使用此功能。因此,我很想知道在NPP中是否有办法做到这一点。

这是有问题DW偏好:
在此处输入图片说明
你注意到一个不同的选择,做文字FX做什么,但我希望出现这种情况。

我不反对非正统的建议,某种宏或堵塞现象。任何可以模拟功能的东西。如果需要的话,我可以写一个插件,我只是不知道该怎么做。


那么,没有人知道这样的事情吗?知道实现起来会有多么困难吗?
zeel 2012年

只需使用Dreamweaver .... :)
Apple II

如果可以的话,我会的。过去,我曾经有过使用DW的机会,我很喜欢它,但我没有能力自己拥有它。
zeel 2012年

Eclipse确实具有自动完成功能,尽管我确实认为它对于仅编辑html而言过于繁重。+1这个问题,我也使用NPP,很高兴拥有这样一个插件
Alok 2012年

不到24小时即可到达。仍然没有任何答案值得赏金。如果没有人提供更好的选择,它将毫无回报。
zeel 2012年

Answers:


9

转到TextFX / TextFX设置,然后选中“自动关闭XHTML标签”。

这也使其可以在纯HTML文件中工作。


1
不,您看到那是不一样的。键入开头后,该标签会自动添加结束标签。因此输入<p>可以让您<p>|</p>找到| 是打字栏。我希望它能在输入后给我一个结束</,就像Dreamweaver中的用法一样。Dw会找到下一个打开的标签,然后关闭它,如果您键入</,则可以有25个打开的标签并键入</25次,它们都将以正确的顺序关闭。创建页面时,TextFX很不错,但是如果我将一段包裹在一个div中,则稍后可以对其进行编辑,那么我将不得不找到结尾并键入它。有时可能是个问题。所以+1到Dw
zeel 2011年

我认为这没问题,因为您将在N ++中选择标签,它将从打开和关闭位置突出显示标签。
2012年

令人惊讶的是,这对我不起作用。
2014年

5

是的,可以在Notepad ++中进行,而且非常容易做到。跟着这些步骤:

  1. 转到设置
  2. 单击选项选项卡。
  3. 现在,点击自动完成。在这里,您将看到两个部分:一个是“ 自动完成”,另一个是“ 自动插入”
  4. 在“ 自动插入”部分中,单击显示HTML / XML关闭标签的复选框。

再一次,这不是我想要的,我很清楚这个选项,之前已经有人建议过。这种行为完全不是我想要的,输入打开标签后,它会在结束标签上投放广告,并将光标放在它们之间。正如我向其他人指出的那样,我不希望它那样做-我希望它在开始键入结束标记后自动完成结束标记。这是Dreamweaver中存在的一项功能,键入</,它将完成到第一个未关闭的标签。
zeel 2014年

1

很不完整的答案:

难道不是在使TextFX / TextFX设置选项“自动关闭XHTML / XML”。

转到设置->首选项对话框。单击“ 备份/自动完成”选项卡,然后设置“ 启用自动完成”选项。

这只会让您从其前缀中选择结束标签名称。

就个人而言,我更希望Notepad ++的答案是@ user79590。如果两个答案都不能令人满意,那么我将寻找另一个HTML编辑器,因为我认为Notepad ++没有其他可能性。


虽然这是一个不错的功能,但我仍然必须键入标签名称的首字母(“ </d”表示div),然后从列表中选择名称。Dreamweaver功能是自动的。
zeel 2012年

我不认为这在Notepad ++或任何现有插件中以完全相同的方式存在。
哈里姆克(Harrymc)2012年

那么问题来了,我该怎么办?
zeel 2012年

1
切换到另一个编辑器。根据我的个人经验,我相信Eclipse默认会按您希望的方式工作。另一个出色的编辑器是IntelliJ IDEA(在此设置)。两者都是免费且出色的开发环境,而不仅仅是编辑器。在Best Free HTML Editor中可以找到大量的更多编辑
哈里奇

尽管这可能是一种选择,但我喜欢NPP,并且仍然想找到一种方法来执行此操作。
zeel 2012年

1

也许您可以使用带有快捷方式“ ALT + END”的HTMLKit,该快捷方式将结束当前标签。也许N ++有这样的隐藏...


如果我用的话,我肯定可以伪造AHK的DW功能来将a </变成a ALT+END。但是,我不知道NPP中有任何类似的快捷方式。任何这样做的人都可能希望加入,因为他们可能只是得到了赏金。
zeel 2012年

@zeel不知道您是否注意到,但是@ user2427906答案提到Notepad#具有此功能的插件。因此,通过使用与自动热键(AHK)一起,我们才可能拥有毕竟是一个解决办法......我工作的一个脚本现在..
D.Tate

1

该线程可能已经很旧了,但这就是答案。使用插件管理器(插件->插件管理器)并安装XML工具。

安装后,XML工具将显示在“插件”菜单项中,并且在其功能范围内是“标签自动关闭”选项。

干杯!


不,与TextFX一样。正如我已经指出的那样,我并不是在寻找那个。我希望在我要求完成时创建结束语(在DW中,我只需键入'</'),而不要在完成第一个时就创建。
zeel 2012年


1

尝试安装:

记事本Sharp插件。

请按照以下步骤操作:

  • 点击Plugins> Notepad#>Close last open tag

  • 或按(Ctrl+ .

注意:
嵌套标记并不是很好。刚好适合您的上一个打开标签。

XML工具插件

请按照以下步骤操作:

  • 点击Plugins> XML Tools>Tag auto-close

其他类似的问题:
Notepad ++最后打开标签关闭

Notepad ++ XML自动缩进+标记关闭

在Notepad ++中自动完成HTML标记?

Notepad ++-高亮显示文本并在其附近插入html <tag> </ tag>

在记事本++中的选定文本周围放置标签

在记事本中将选择环绕...


1

使用@ user2427906的答案中提到的Notepad ++ Notepad#插件以及AutoHotKey,可以像键入Dreamweaver一样在键入后关闭Notepad ++代码中的HTML标签。正确设置后,您可以使用以下AHK代码使其正常工作:</

#IfWinActive, ahk_class Notepad++
~<::
Input, UserInput, L1 V
if UserInput=/
    Send, {Backspace 2}^.
return
#IfWinActive

注意:它使用“ WinActive”命令,因此仅在Notepad ++窗口中可用。另请注意,如果输入</,它将首先发出2个Backspace命令,然后再尝试关闭标签,无论标签是否关闭,这些字符都会被删除。

总结: Notepad#为您提供了输入Ctrl+.以关闭标签的功能,这使我们半途而废。然后使用AutoHotKey映射</Ctrl+.

感谢@ user2427906以及这个答案

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.