codecamp

XML重构:标签的操作

展开标签

“展开标签”意图允许你将一个空XML标签扩展成等效的开始标签和结束标签。

折叠标签

“折叠标签”意图允许你将内容仅为空白的XML标签折叠为空的XML标签。

合并标签

“合并标签”意图允许你将两个连续的、兼容的XML标签合并成一个更大的标签。要合并的标签必须具有相同的名称和属性。要合并两个标签,只需选择要合并的第一个标签,然后使用 Alt+Enter 调用意图。然后选择合并标签,则标签就会合并。合并有效地将两个标签替换为新标签。新标签将具有与原始标签相同的属性,并且将通过将第一个标签的内容附加到第二个标签的内容来创建其内容。

拆分标签

“拆分标签”意图允许你将大型XML标签拆分为两个较小的XML标签。要拆分标签,只需选择希望在标签正文中进行拆分的子标签,然后使用 Alt+Enter 调用意图。然后选择拆分标签,标签将被拆分。拆分标签将创建两个连续的标签,两者都具有与原始标签相同的名称和属性。第一个标签的内容将是所选子标签之前的内容,其他所有内容都将成为第二个标签的内容。

删除标签

“删除标签”重构可以删除一组XML标签。如果调用此重构,则可以删除与具有所选标签名称的标签上的所选标签名称匹配的所有标签。随着XML模式的发展,批量删除标签可能很有用。

删除标签的操作步骤如下所示:

单击“预览”将打开“重构预览”窗口,其中显示要删除的标签的所有已找到用法。在此窗口中,您可以排除/包含要重构的用法。

按下“显示XSLT ... ”打开“XSLT预览”窗口,显示相当于所请求的重构的XSLT的小片段。XSLT处理器可以使用此片段对IntelliJ IDEA项目外部的文件执行请求的重构。

如果要受影响的文件是只读的,则无论如何都可能出现“重构预览”窗口。

  1. 在编辑器中,将光标放在要删除的标签内。

  2. 从主菜单或上下文菜单中选择:重构|XML重构|删除标签。

    XML重构:删除标签
  3. 确定删除范围。如果所选标签位于范围内,则将删除与所选标签名称匹配的所有标签。可用范围包括当前文件,整个项目或指定的目录或模块。根据是否选中递归复选框,目录范围可以包括子目录。如果选中“使用DTD限制文件:...”复选框,则范围将限制为与当前文件具有相同DOCTYPE的文件。

  4. 单击“预览”以使IntelliJ IDEA搜索所选标签的用法。

  5. 单击“确定”以继续。如果未选中“预览”复选框,则会立即更改所有用法。

打开标签

“打开标签”重构允许您打开一组XML标签,用它们的内容替换它们(如果有的话)。 如果调用此重构,则可以打开与所选标签名称匹配的所有标签。随着XML模式的发展,标签的批量展开可能很有用。请注意,顶级标签不会被打开,因为这可能会使XML文档无效。

打开标签的操作步骤如下所示:

  1. 在编辑器中,将光标放在要打开的标签内。

  2. 从主菜单或上下文菜单中选择:重构|XML重构|解开标签。

    XML重构:打开标签
  3. 确定打开的范围。如果所选标签位于所选范围内,则所有与所选标签名称匹配的标签都将被打开。可用范围包括当前文件,整个项目或指定的目录或模块。根据是否选中递归复选框,目录范围可以包括子目录。如果选中“使用DTD限制文件:...”复选框,则范围将限制为与当前文件具有相同DOCTYPE的文件。

  4. 按下“预览”按钮使IntelliJ IDEA搜索所选标签“Find”窗口的用法。

  5. 单击“确定”以继续。如果未选择“预览”选项,则会立即更改所有用法。

请注意以下事项:

  • 按下“预览”将打开“重构预览”窗口,其中显示要打开的标签的所有已找到用法。在此窗口中,您可以排除/包含要重构的用法。
  • 按下“显示XSLT ...”打开“XSLT预览”窗口,显示相当于所请求的重构的XSLT的小片段。XSLT处理器可以使用此片段对IntelliJ IDEA项目外部的文件执行请求的重构。
  • 如果要受影响的文件是只读的,则无论如何都可能出现“重构预览”窗口。

包装标签

“包装标签”重构允许你在新创建的父级中包装一组XML标签。如果调用此重构,则可以包装与所选标签名称匹配的所有标签。随着XML模式的发展,标签的批量包装可能很有用。

包装标签的操作步骤如下所示:

  1. 在编辑器中,将光标放在要包装的标签内。

  2. 从主菜单或上下文菜单中选择:重构|XML重构|包装标签。

    XML重构:包装标签
  3. 确定将包装所选标记的新标记的名称。

  4. 确定包装的范围。如果所选标签位于所选范围内,则所有与所选标签名称匹配的标签将被包装。可用范围包括当前文件,整个项目或指定的目录或模块。根据是否选中递归复选框,目录范围可以包括子目录。如果选中“使用DTD限制文件:...”复选框,则范围将限制为与当前文件具有相同DOCTYPE的文件。

  5. 按下“预览”按钮使IntelliJ IDEA搜索所选标签“Find”窗口的用法。

  6. 单击“确定”以继续。如果未选择“预览”选项,则会立即更改所有用法。

请注意以下事项:

  • 按下“预览”打开“重构预览”窗口,显示要包装的标签的所有已找到用法。在此窗口中,您可以排除/包含要重构的用法。
  • 按下“显示XSLT ...”打开“XSLT预览”窗口,显示相当于所请求的重构的XSLT的小片段。XSLT处理器可以使用此片段对IntelliJ IDEA项目外部的文件执行请求的重构。
  • 如果要受影响的文件是只读的,则无论如何都可能出现“重构预览”窗口。

包装标签内容

“包装标记内容”重构允许你在新创建的标签中包装一组XML标签的内容。如果调用此重构,则与所选标记名称匹配的所有标签都将包含其内容。随着XML模式的发展,标签内容的批量包装可能很有用。

包装标签内容的操作步骤如下所示:

按下“预览”打开“重构预览”窗口,显示要包装的标签的所有已找到用法。在此窗口中,您可以排除/包含要重构的用法。

按下“显示XSLT ... ”打开“XSLT预览”窗口,显示相当于所请求的重构的XSLT的小片段。XSLT处理器可以使用此片段对IntelliJ IDEA项目外部的文件执行请求的重构。

如果要受影响的文件是只读的,则无论如何都可能出现“重构预览”窗口。

  1. 在编辑器中,将光标放在要打包其内容的标签内。

  2. 从主菜单或上下文菜单中选择:重构|XML重构|打包标记内容。

    XML重构:包装标签内容
  3. 确定将包装所选标签内容的新标签的名称。

  4. 确定包装的范围。如果所选标签位于所选范围内,则所有与所选标签名称匹配的标签将被包装。可用范围包括当前文件,整个项目或指定的目录或模块。根据是否选中递归复选框,目录范围可以包括子目录。如果选中“使用DTD限制文件:...”复选框,则范围将限制为与当前文件具有相同DOCTYPE的文件。

  5. 按下“预览”按钮使IntelliJ IDEA搜索所选标签“Find”窗口的用法。

  6. 单击“确定”以继续。如果未选择“预览”选项,则会立即更改所有用法。

XML重构:将内容转换为属性
IntelliJ IDEA:配置远程Node.js解释器
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

IntelliJ IDEA的一般准则

什么是IntelliJ IDEA项目

使用IntelliJ IDEA的意图行为

IntelliJ IDEA使用运行/调试配置

特定于VCS的程序

IntelliJ IDEA语言和特定框架指南

IntelliJ IDEA的数据库和SQL功能

IntelliJ IDEA使用之JavaServer Faces(JSF)

IntelliJ IDEA:分析PHP应用程序的性能

IntelliJ IDEA:调试PHP应用程序

IntelliJ IDEA:适用于PHP的Google App Engine

IntelliJ IDEA更多内容

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }