VSCode XML格式化设置深度解析(告别单行超长代码的神器配置)

使用Java实现XML格式化: Formatter.java 示例代码 XML自从推出以来,在Java平台上的处理经历了从简单到复杂的过程。起初,Java开发者们主要依赖于SAX(Simple API for XML)解析器,它是一种事件驱动的API,适用于需要逐个元素分析XML文件的场景。然而,SAX的编程模型对于需要全面处理XML文档的开发者来说相对较为复杂。随着时间的推移,DOM(Document Object Model)解析器逐渐流行起来。DOM是一种树形结构的模型,能够将整个XML文档加载到内存中,形成一个节点树,从而允许开发者在内存中进行随机访问和修改。 阅读详情

第一章:VSCode XML格式化属性换行的核心价值

在处理复杂的XML文档时,属性密集的标签往往导致代码可读性下降。VSCode通过支持自定义格式化规则,使开发者能够将多个属性分行展示,显著提升结构清晰度与维护效率。

提升代码可读性

当一个XML元素包含多个属性时,单行书写容易造成横向滚动和视觉混乱。通过启用属性换行,每个属性独立成行,结构一目了然。

配置格式化行为

VSCode本身不原生支持XML格式化,需依赖扩展如“Red Hat XML Language Support”或“XML Formatter”。安装后,在settings.json中配置换行规则:
{
  // 启用每行一个属性的格式化
  "xml.format.splitAttributes": true,
  // 设置每行最大字符数触发换行
  "xml.format.wrapLineLength": 80,
  // 缩进使用空格数量
  "xml.format.indentInnerXml": true,
  "xml.format.preserveBlankLines": true
}
上述配置确保当标签属性超过设定长度时自动换行,并保持层级缩进,增强一致性。

实际效果对比

以下为格式化前后的对比示例:
状态XML 示例
格式化前
<user id="1" name="Alice" role="admin" status="active" department="IT"></user>
格式化后
<user 
  id="1" 
  name="Alice" 
  role="admin" 
  status="active" 
  department="IT"
></user>
  • 属性分行后更易于版本控制中的差异比对
  • 便于团队统一编码规范
  • 减少因属性堆积引发的编辑错误
graph TD A[原始XML] --> B{是否启用格式化?} B -->|是| C[应用splitAttributes规则] B -->|否| D[保持单行] C --> E[生成多行结构] E --> F[提升可读性与协作效率]

第二章:XML格式化基础与VSCode集成机制

2.1 XML文档结构与可读性挑战解析

XML作为数据交换的标准格式之一,其树形层级结构清晰,但随着嵌套深度增加,可读性显著下降。
典型XML结构示例
<book id="101">
  <title>Web Development</title>
  <author>
    <name>John Doe</name>
    <contact email="johndoe@example.com"/>
  </author>
  <chapters>
    <chapter number="1">Introduction</chapter>
  </chapters>
</book>
该代码展示了一个典型的XML文档。根元素<book>包含属性id,子元素层层嵌套。虽然结构语义明确,但多层嵌套易导致“视觉噪声”,尤其在大型配置文件中难以快速定位关键信息。
可读性挑战分析
  • 标签冗余:开闭标签重复出现,增加阅读负担
  • 缩进依赖:格式错位即导致结构误判
  • 缺乏原生注释支持(非强制):复杂逻辑难以内联说明

2.2 VSCode内置格式化引擎工作原理

VSCode内置的格式化引擎基于语言服务协议(LSP)与文档解析器协同工作,通过抽象语法树(AST)分析代码结构,实现智能排版。
格式化触发机制
用户执行“格式化文档”命令后,VSCode调用对应语言的格式化提供者(Formatter Provider),如TypeScript内置服务或第三方插件。
{
  "editor.formatOnSave": true,
  "editor.defaultFormatter": "esbenp.prettier-vscode"
}
该配置在保存时自动触发Prettier格式化工具,参数formatOnSave控制时机,defaultFormatter指定默认处理器。
AST驱动的结构重排
引擎将源码解析为AST,识别缩进、空格、换行等非语义节点,依据预设规则生成新布局。此过程确保语法正确性与风格一致性。
  • 解析:将文本转换为可操作的语法树
  • 比对:计算原节点与目标格式差异
  • 重写:生成符合规范的新源码字符串

2.3 主流XML扩展插件对比与选型建议

在处理复杂XML数据时,选择合适的扩展插件至关重要。主流工具包括XSLT、JAXB、Castor及Jackson XML。
核心插件特性对比
插件语言支持性能易用性
XSLT跨语言中等低
JAXBJava高高
典型代码示例

// JAXB注解示例
@XmlRootElement(name = "user")
public class User {
    @XmlElement(name = "name")
    private String name;
}
上述代码通过@XmlRootElement和@XmlElement实现Java对象与XML的自动映射,简化序列化过程。适用于Java生态内高性能场景。

2.4 格式化触发方式:手动、保存自动与快捷键配置

在现代代码编辑器中,代码格式化可通过多种方式触发,适应不同开发习惯。
手动格式化
开发者可在编辑器中右键选择“格式化文档”,或通过命令面板调用格式化功能。此方式灵活性高,适用于临时调整。
保存时自动格式化
启用后,每次保存文件都会自动执行格式化。以 VS Code 为例,需在设置中开启:
{
  "editor.formatOnSave": true
}
该配置确保代码在持久化前始终符合规范,提升团队协作一致性。
快捷键绑定
可自定义快捷键快速触发格式化。例如,将 Ctrl+Shift+I 绑定至格式化命令,实现高效操作。支持的触发方式汇总如下:
方式触发条件适用场景
手动用户主动调用临时修正
保存自动文件保存时持续集成
快捷键键盘组合键高频使用

2.5 配置文件优先级:用户、工作区与语言特定设置

在现代编辑器中,配置管理遵循明确的优先级层级,确保设置既灵活又可控。最高优先级属于语言特定设置,随后是工作区(项目级)配置,最后是全局用户配置。
优先级层级结构
  • 语言特定设置:针对特定编程语言的覆盖配置
  • 工作区设置:项目根目录下的配置,影响当前项目
  • 用户设置:全局生效,适用于所有项目
示例配置文件结构
{
  "editor.tabSize": 2,
  "[python]": {
    "editor.tabSize": 4,
    "editor.insertSpaces": true
  }
}
上述 JSON 配置中,全局 tabSize 为 2,但在 Python 文件中被覆盖为 4。方括号语法标识语言特定块,其内部设置优先于其他层级。

第三章:关键格式化参数深度解读

3.1 maxAttributeCount属性拆行阈值详解

在高并发数据处理场景中,`maxAttributeCount` 属性用于控制单行记录的最大属性数量,超过该阈值时系统将自动触发拆行机制,防止单条数据过大导致序列化失败或内存溢出。
阈值配置与行为控制
该属性通常以整型数值配置,常见默认值为 1000。当某条记录的字段数超过此值,框架会将其按预定义规则分割为多条逻辑行,确保每行不超过上限。
  • 适用于宽表写入、日志采集等字段动态扩展场景
  • 拆分过程保持事务一致性,避免数据断裂
  • 支持自定义拆分策略,如按字段类型或命名前缀分组
// 示例:设置最大属性数为500
config.setMaxAttributeCount(500);
// 启用自动拆行功能
config.setEnableAutoSplit(true);
上述代码中,setMaxAttributeCount(500) 明确设定拆行阈值;setEnableAutoSplit(true) 确保超出时启用拆分逻辑。二者配合可有效提升系统稳定性。

3.2 attributeValueQuoteStyle引号风格控制实践

在HTML与XML配置处理中,`attributeValueQuoteStyle`用于控制属性值的引号类型,支持单引号、双引号或无引号输出,直接影响文档的兼容性与可读性。
引号风格选项
  • double:使用双引号包裹属性值,符合HTML标准规范
  • single:使用单引号,常见于JavaScript字符串内嵌场景
  • none:省略引号,仅适用于无空格的简单值
代码示例与分析
<input type='text' value="John Doe" />
上述混合引号虽合法,但风格混乱。通过统一`attributeValueQuoteStyle="double"`可规范化输出:
<input type="text" value="John Doe" />
该配置确保所有属性值使用双引号,提升解析一致性,避免模板引擎或DOM操作时的边缘错误。

3.3 breakAttributesForcefully强制换行策略分析

在XML或HTML格式化过程中,`breakAttributesForcefully`是一种用于控制属性换行的策略,旨在提升代码可读性。当启用该策略时,每个属性将被强制输出到独立行,避免单行过长。
策略行为说明
  • 适用于属性密集型标签结构
  • 增强格式一致性,便于版本对比
  • 可能增加文件体积,影响性能敏感场景
配置示例
{
  "breakAttributesForcefully": true
}
上述配置表示开启强制换行,所有属性将分行排列。例如原本 `` 将被格式化为:
<tag
  attr1="a"
  attr2="b"
/>
此模式特别适用于调试阶段的模板输出,有助于开发者快速定位属性内容。

第四章:高级换行策略与定制化场景应用

4.1 多属性条件下智能换行算法解析

在处理多属性文本渲染时,智能换行算法需综合考虑字符宽度、语言类型、标点符号及容器尺寸等多重因素。传统基于空格的断行策略在混合内容场景下易出现布局溢出或视觉断裂。
核心判断逻辑

function shouldBreak(word, lineWidth, charWidth) {
  // word: 当前词元,lineWidth: 剩余行宽,charWidth: 平均字符宽度
  const estimatedWidth = word.length * charWidth;
  return estimatedWidth > lineWidth * 0.9; // 预留10%安全边距
}
该函数通过预估词元占用宽度与剩余空间对比,决定是否触发换行。参数 charWidth 根据字体和语言动态计算,例如中文字符通常为英文两倍宽度。
属性优先级权重表
属性权重说明
语言类型0.4影响字符间距与断点规则
标点位置0.3优先在逗号、句号后断行
容器宽度0.2动态适配响应式布局
用户偏好0.1支持手动指定断行策略

4.2 标签嵌套层级对格式化的影响调优

在HTML文档结构中,标签的嵌套层级直接影响CSS样式继承与渲染性能。深层嵌套可能导致样式计算复杂度上升,增加浏览器重排重绘开销。
嵌套过深的典型问题
  • 样式继承混乱,导致意外的格式表现
  • 选择器匹配效率下降,影响页面渲染速度
  • CSS权重叠加难以维护
优化示例与分析

/* 优化前:多层嵌套 */
.header .nav .menu .item a { color: #333; }

/* 优化后:扁平化结构 */
.nav-link { color: #333; }
通过减少嵌套层级,使用语义化类名,提升样式的可维护性与渲染效率。避免依赖层级过深的选择器,降低CSS解析负担。
推荐实践原则
原则说明
控制嵌套深度建议不超过4层
使用BEM命名提升组件独立性

4.3 结合Prettier实现统一代码风格协同配置

在团队协作开发中,保持一致的代码风格至关重要。Prettier 作为一款强大的代码格式化工具,能够自动规范 JavaScript、TypeScript、CSS 等多种语言的代码格式,消除因个人编码习惯差异带来的风格不统一问题。
基础配置示例
{
  "semi": true,
  "trailingComma": "es5",
  "singleQuote": true,
  "printWidth": 80,
  "tabWidth": 2
}
上述 .prettierrc 配置定义了分号使用、引号类型、行宽等规则。其中 printWidth 控制每行最大字符数,singleQuote 强制使用单引号,确保输出风格统一。
与 ESLint 协同工作
通过 eslint-config-prettier 插件禁用所有与 Prettier 冲突的 ESLint 规则,实现二者无缝集成。推荐安装编辑器插件,启用“保存时自动格式化”,提升开发效率。
  • 统一团队代码风格
  • 减少代码审查中的格式争议
  • 提升项目可维护性

4.4 特殊标签例外处理与ignore规则设置

在标签解析过程中,某些特殊标签可能引发解析异常或干扰正常数据提取。为提升系统鲁棒性,需配置 ignore 规则以跳过特定标签。
忽略规则配置示例
{
  "ignore_tags": ["script", "style", "noscript"],
  "preserve_content_in": ["pre", "code"]
}
该配置表示在解析时自动忽略 `
自动驾驶---Planning模块详细介绍(以Apollo为例) 主要介绍高速场景下Planning模块,至于低速的泊车场景对比高速场景或者城区场景有比较大的差距(后面也会介绍泊车场景),本篇Planning介绍主要包括三大子模块Routing,Behavioural Planning以及Motion Planining,并且对比较重要的Decider和Optimizer都做了通俗化的说明供大家思考,以便于后续理解更深入的内容,后面有时间会再开一些篇幅对这些模块进行更加深入的讲解。 阅读详情

相关推荐

基于QEMU的openEuler aarch64虚拟机快速部署与漏洞验证指南

本文提供了一份基于QEMU在个人电脑上快速部署openEuler aarch64虚拟机的详细指南。内容涵盖从软件准备、目录规划、QEMU安装、虚拟磁盘创建到系统安装与SSH配置的全过程,并以CVE-2024-1086内核漏洞为例,演示了如何在该虚拟环境中进行安全漏洞的验证与补丁测试,为安全研究和运维测试提供了一个低成本、高效率的ARM架构沙箱环境。

earth的博客 438

XML在线格式化 - 加菲工具

XML在线格式化 - 加菲工具

5356

单细胞分析R包monocle3服务器安装教程

由于centos7系统yum只能安装到低版本gdal,而monocle3依赖包需要 gdal>2 版本,从gdal官网下载2.4.4版本编译安装。monocle3的安装是通过cole-trapnell-lab安装的,该包挂在github上,需要通过github先安装leidenbase包,需要提前安装devtools包下载工具。接着利用BiocManager安装相应的依赖包,由于这些包的特殊性,所以不要切换到国内Bio_Mirror镜像,否则会找不到,如果一次不成功,缺啥补啥即可。运行 ldconfig。

qq_36608036的博客 1万+

XML格式化

【代码】XML格式化。

qq_50134188的博客 1722

【MFiX后处理】MFiX中使用des_usr_var输出颗粒的传热量(2020-11-27更新变更输出变量名方法)

参考之前Yin的那一篇博客 https://www.cnblogs.com/Jay-CFD/p/10621274.html 输出一下颗粒传热量 使用的算例是fluid_bed_dem_2d 打开des scalar tracking 前面都和Yin那篇一样,打开enable user scalar tracking 输入2 因为第一个用来测试Y加速度了 第二个输出传热量 然后在output vtk中勾选好 更改源代码 源代码为des_thermo_newvalues.f 在mfix-GUI自带的ed

beidou111的博客 1533

深入浅出:.sh文件在Linux系统中的实战应用与技巧

本文深入浅出地介绍了.sh文件在Linux系统中的实战应用与技巧。从基础概念入手,详细讲解了Bash脚本的运行方法、权限管理,并通过编写自动化备份脚本等实例,展示了如何利用Shell脚本提升工作效率。文章还涵盖了脚本调试、错误处理以及函数、参数解析等进阶技巧,帮助读者从入门到精通,掌握这一强大的自动化工具。

weixin_29243279的博客 349

XML格式化工具xmlformat的详解

xmlformat是一款方便、快捷、易用的XML格式化工具,能够将XML文档进行格式化处理,使其易于阅读、理解和维护。支持自适应缩进,便于查看支持基于属性进行排序,并可自定义排序规则支持去除空白节点,减小XML文件大小xmlformat支持多种参数设置,可以根据需求进行调整。-i或--indent:设置缩进的字符,默认值为4个空格-p或--preserve:去除空白节点-s或--sort:按照属性名排序-r或--reverse:按照属性名反向排序。

羊逸羊的博客 4783

DDR4 IP的用户接口

DDR4 IP核用户接口

bowen_wener的博客 1925

xml 格式化工具

XML 格式化工具是用来让 XML 文件的结构更加清晰易读的工具。它能帮助你把 XML 文件格式化成带有缩进和换行的形式,使其更易于阅读和编写。常见的 XML 格式化工具包括: XML Pretty Print:一个在线的 XML 格式化工具,可以通过浏览器使用。 xmllint:一个命令行工具,可以在 Linux 和 MacOS 中使用。 XML Copy Editor:一个图形化的 XM...

weixin_35756624的博客 5972

实战:RK3568 Android14 调试 ES8388 音频驱动 (MIC 篇)

这个板子的MIC设计使用了硬件自动切换方案,极大简化了软件层面的逻辑。我们不需要根据耳机插拔事件去编写复杂的路由切换代码,只需要守住 LIN1/RIN1 这一个入口,配置好增益,剩下的交给那颗 SGM3157 芯片即可。祝您的录音功能调试顺利!

qq_33427070的博客 1680

视图库对接系列(GA-T 1400)四、视图库对接系列(本级)注册

在之前的步骤中,我们已经把项目大体的架构已经写出来了。那我们就来实现注册接口。GA-T 1400中的步骤如下:这里的话,我们实现的简单点, 我们不进去鉴权,也就是设备或平台找我们注册的话,我们直接返回成功,不进行验证。如果需要鉴权的话可看我的另外一篇文档。

qq_37716298的博客 1044

XML 在线格式化工具

XML 在线格式化工具

qq_27494201的博客 2121

汽车LIN总线(3) -- 协议层:帧的类型

主要介绍LIN协议层中帧的类型,介绍中加入一点自己的理解(带下划线的是,其余是官方资料)。

晴朗luo的博客 889

xml文件格式化

xml文件格式化看到这样的xml文档是否你的脑袋已经萌化: (ps:此时的内心是崩溃的~~~)那么让我们用UE编辑器进行对xml进行格式化吧!编辑软件:(ps:xml格式化前)**第一步:打开UE文件编辑软件 第二步:打开咋们需要格式的xml文件 第三步:点击格式 第四步:选择XMLlint工具 第五步:在弹出的窗口,勾选标签“重格式化并重缩进输出,缩进位置”(ps:英文:Reformat

Marksunshine的博客 5564

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

使用 XSLT 格式化 XML

使用 XSLT 格式化 XML 在平常工作中经常遇到要求对 XML 进行格式化的情况, XSLT相比较于写纯java代码操作 org.w3c.dom.Document 更加方便,利于维护。 下面会用一个java例子来介绍XSLT的基本用法。 场景 原始的XML &lt;?xml version="1.0" encoding="UTF-8"?&gt; &lt;?xml ...

Jerry_Leyu的博客 2094

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

IntelliJ IDEA 格式化XML方法

这个时候按照逻辑应该使用CTRL+ALT+L快捷键进行Reformat Code,但是有些人的设置原因,并不会有什么效果。打开 setting -> Editor -> Code Style -> xml ->other。取消勾选Keep white spaces,点击Apply,再次使用CTRL+ALT+L即可。有时候会出现格式化单行xml的需求,例如。

meidejifenm的博客 9391

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

NotePad——xml格式化插件xml tools在线安装+离线安装

在Notepad++ 中安装,如果没有成功,可以在多尝试2次,我是第3次成功的,具体原因不知,但有的电脑一次就能安装成功的。下载对应插件包,下载成功后,在notepad++的 plugins 文件夹下,新建XMLTools文件夹。如上截图显示的是部分XML文件,但是都在一行显示,可以格式有缩进对应的格式的显示方式。3. 搜索 XML Tools,找到该插件后,勾选该文件,点击“安装”在使用NotePad++时,在某些情形下,需要格式化。关闭notepad,重启(重新打开)即可,如下图。

zhanglongfei1016的专栏 1万+

如何格式化XML文件

http://jingyan.baidu.com/album/4b07be3c69172648b380f383.html?picindex=5

sumsun810的专栏 673

XML文件内容格式化与语法错误自动检查

XML文件格式自动调整和语法错误自动检查

zyp626的博客 1万+

VSCode XML文件格式化

安装插件: 格式化:

徐同保的专栏 6353

VSCode XML格式化终极指南(属性换行不求人)

轻松掌握VSCode XML的属性换行技巧,告别混乱代码格式。适用于Spring、MyBatis等配置文件编辑,通过Prettier或内置格式化工具自定义换行规则,提升可读性与协作效率。配置简单、效果显著,值得收藏。

FuncLens的博客 918

vscode插件-格式化代码-工具

代码格式 shift alt f 格式 得到 名称 描述 vetur vue文件高亮 vue文件的格式化 prettier .pretierrc 文件

YogaMiller的博客 1万+

如何将notepad++中的xml文件格式化(层级关系展示)

第一步:去掉换行。 打开notepad++的主程序 我们在程序的顶栏菜单栏打开视图的按钮 显示符号->显示所有的字符 这样我们就能查看电脑中不能显示的隐藏字符了 可以看到CRLF就是回车换行符 箭头就是制表符缩进 点就是空格 我们点击顶栏菜单的搜索按钮 也可以按快捷键CTRL+F 查看那里我们输入\r\n 同时我们需要把扩展打开 这样我们就可以正常的搜索回车换行符了 注意:必须先显示隐藏字符才能

zhanglongfei1016的专栏 4475

Java实现XML格式化

Java实现XML格式化工具类

阿甘兄 7499

VSCode格式化XML

VSCode格式化XML 文章目录VSCode格式化XML1、结果展示2、插件 notepad++自带的xml插件不是很好用,显示xml树的插件经常失灵,尝试在VSCode上找到了一些插件,很好的解决了XML的格式化和XML节点显示的问题。 1、结果展示 如下图: 2、插件 XML、Pretty XML、XML Tools三个插件,通过ctrl+shift+p启动相关命令处理 xml内容即可: ...

逍遥游的博客 1万+
上一篇: 【提升写作效率300%】:VSCode Markdown目录自动生成黑科技
下一篇: VSCode终端分屏快捷键大全(含Windows/Mac/Linux全平台对照表)
simcode
博客等级 码龄14年 154粉丝 2026原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值