XMLNotepad(XML文本编辑器)
v2.8.0.14 绿色版- 软件大小:4.33 MB
- 更新日期:2020-08-15 14:15
- 软件语言:英文
- 软件类别:编程工具
- 软件授权:免费版
- 软件官网:待审核
- 适用平台:WinXP, Win7, Win8, Win10, WinAll
- 软件厂商:
软件介绍 人气软件 下载地址
XMLNotepad是一款XML记事本,同时也是一款非常实用的文本编辑工具,新版本支持编程智能输入,可以通过输入C, ++,C#,Java和PHP 函数,类,方法,结构,成员和变量的部分名称来从候选项中输入;除了用户定义的函数和方法名称的补充输入之外,它还支持以下API以及标准类和方法名称的补充输入,支持智能搜索,只需输入搜索字符的一部分即可显示搜索词候选,如果指定单词,搜索结果将立即显示。可以通过按两次Shift键显示程序和定义位置来显示程序的功能和变量,Grep按优先级显示搜索结果,只需在搜索对话框中输入条件,即可在列表中显示搜索结果;由于此工具具有内置的预览,因此用户可以立即参考搜索位置,按索引执行高速搜索,通过支持Grep替换的生成历史记录,支持替换之前的生成恢复;需要的用户可以下载体验
软件功能
支持XML模式的Intellisense
查找支持XPath的对话框
支持XInclude
通过XSLT输出的内联查看器支持XSLT转换
.csv文件的自动转换
有关XML文档的便捷统计
XML差异比较2个相似的XML文档
充满活力的社区,具有许多更新和错误修复
软件特色
在树形视图和文本视图中都进行增量搜索,以便在键入时导航到最匹配的节点。
具有完整的名称空间支持的剪切/复制/粘贴,采用简单的可互操作XML格式。
支持拖放操作,即使在XML记事本的不同实例之间以及在文件系统中,也可以轻松操作树。
所有编辑操作的无限撤消/重做。
基于预期的元素和属性,对大型文本节点值和IntelliSense进行就地,弹出,多行编辑。
通过选项对话框可配置的字体和颜色。
完整的查找/替换对话框,支持正则表达式和XPath表达式。
在大型XML文档上表现良好(在大约一秒钟的时间内加载3 MB文档)。
在编辑时进行即时XML模式验证,并显示任务列表窗口中显示的错误和警告。
支持自定义编辑器的日期,日期时间,时间和颜色数据类型。
HTML查看器,用于显示XSLT转换结果。
内置XML Diff工具。
使用说明
XML记事本提供了一个简单直观的用户界面,用于浏览和编辑XML文档。有四种安装方法:
ClickOnce安装程序:这是最方便的,直接从Web浏览器安装。
独立下载的安装程序,如果您需要脱机工作的东西。
只需下载zip文件,将其复制到要在其上安装的计算机上,在该计算机上解压缩该文件并运行xmlnotepadsetup.msi。
Windows MSIX安装程序:如果需要受信任的Windows安装程序
还可以如下使用WinGet:winget install XmlNotepad
设计与实施
在github存储库中,您将找到核心XmlNotepaddll项目,Application构建XmlNotepad.exe的XmlDiff项目,XML diff功能中使用的库项目,XmlNotepadSetup用于构建.msi安装程序的UnitTests项目以及用于测试XML Notepad 的项目。
以下DGML图显示了主要UI类之间的关系。
主要形式包含从TaskList到主要XmlTreeView的所有UI元素,介于两者之间的是Resizers。
这是诸如FormSearch,FormSchemas,FormOption和FormAbout等对话框的启动点。
主选项卡控件包含XmlTreeView和XsltViewer,用于显示XSL输出。XmlTreeView在左侧包含一个TreeView,在右侧包含一个NodeTextView,并协调这两个视图之间的滚动。TreeView和NodeTextView都使用TextEditorOverlay组件提供相同的IntelliSense编辑功能。XmlTreeView实现IFindTarget,“查找”对话框(FormSearch)使用IFindTarget来实现查找/替换功能。
“查找”对话框支持全文,正则表达式或XPath表达式,并且可以按名称或值进行过滤。
在这里,您将看到XPath搜索,该搜索还提供了一个表,用于输入查询中使用的名称空间前缀映射。
验证,IntelliSense和自定义编辑器
最大的新功能是IntelliSense,它由SchemaCache提供的XML Schema信息驱动。
例如,如果您的元素或属性是由XSD simpleType定义的,并且此simpleType包含枚举构面的列表,那么您将获得如下所示的下拉列表:
这种工作方式是在每个编辑操作之后运行Checker,以验证文档并报告TaskList中的错误。 此过程还将System.Xml.Schema.XmlSchemaType信息放在XmlDocument中的每个元素和属性上。
然后,当编辑该节点的值时,TextEditorOverlay使用XmlIntelliSenseProvider取回可能值的列表。
在上面的示例中,它从simpleType枚举方面返回值。
对于树视图中的元素名称IntelliSense,XmlIntelliSenseProvider再次调用Checker,捕获System.Xml.Schema.XmlSchemaValidator上的GetExpectedParticles和GetExpectedAttributes,然后使用它们提供IntelliSense。
TextEditorOverlay还支持自定义编辑器,例如DateTimeEditor或UriBuilder或ColorBuilder。自定义编辑器有两种类型:IXmlEditors(它们是替换默认TextBox的嵌入式编辑器)和IXmlBuilders(它们是弹出对话框,如OpenFileDialog或ColorDialog)。
编辑器的类型是从架构类型信息派生的-DateTimeEditor中的结果为“ xs:date”,“ xs:time”,“ xs:datetime”,而UriBuilder中的结果为“ xs:anyURI”。您还可以在“ http://schemas.microsoft.com/Visual-Studio-IntelliSense”命名空间中使用自定义的“ vs:builder”属性来注释架构。
无限撤消/重做
为了实现撤消/重做,我使用Undo和Redo方法遵循Command对象的通用设计模式。UndoManager将这些收集在列表中。然后,UndoManager的状态控制Undo / Redo MenuItems的启用/禁用状态。当用户选择“撤消”菜单项时,将在活动命令上调用“撤消”方法,并将该命令压入“重做”堆栈。
编辑器中的某些操作会在树中引起许多编辑,包括全部替换操作和编辑名称空间属性的值。(更改命名空间属性的值时,需要使用新的命名空间URI重构绑定到该命名空间的每个XmlNode,这显然会影响树中的许多节点!)因此,使这些操作成为一个原子撤消操作,有一个CompositeCommand对象,其中包含较小的编辑命令列表,并且此CompoundCommand放入UndoManager中。
其他更简单的命令对象包括以下内容,它们都在XmlTreeNode和XmlNode对象上运行:
PasteCommand之所以特别,是因为它从剪贴板中删除了随机的XML文本,并在树中当前所选元素的上下文中对其进行了解析,从而继承了作用域中的名称空间。辅助类TreeData使用特殊的XmlTextReader构造函数,该构造函数将XmlParserContext作为输入。
单元测试
我必须很好地测试新的XML记事本,并且正在寻找借口使用新的Visual Studio UnitTest项目。
UnitTest在Visual Studio的“测试”菜单下的“测试资源管理器”中运行,启动XML记事本并执行我编写的所有测试方法。
测试完成后,您可以右键单击“测试结果”窗口,然后选择“代码覆盖率结果”。
这样就得出了每个功能涵盖了多少块的摘要。您可以双击列表中的行以调出带有颜色编码的源代码视图,以显示确切的代码覆盖范围。这使我很容易将代码覆盖率提高到大约85%。
唯一的技巧是,在调试器下运行测试时,您不会得到代码覆盖,并且UnitTest项目在您的解决方案旁边创建了一个文件“ localtestrun.testrunconfig”和“ XmlNotepad.vsmdi”,您应该不会丢失。
如果这样做,则代码覆盖范围也将无法正常工作。
人气软件
-
redis desktop manager2020.1中文 32.52 MB
/简体中文 -
s7 200 smart编程软件 187 MB
/简体中文 -
GX Works 2(三菱PLC编程软件) 487 MB
/简体中文 -
CIMCO Edit V8中文 248 MB
/简体中文 -
JetBrains DataGrip 353 MB
/英文 -
Dev C++下载 (TDM-GCC) 83.52 MB
/简体中文 -
TouchWin编辑工具(信捷触摸屏编程软件) 55.69 MB
/简体中文 -
信捷PLC编程工具软件 14.4 MB
/简体中文 -
TLauncher(Minecraft游戏启动器) 16.95 MB
/英文 -
Ardublock中文版(Arduino图形化编程软件) 2.65 MB
/简体中文