netbeans 定制代码_将NetBeans代码模板弯曲到我的意愿

netbeans 定制代码

任何阅读过我关于NetBeans的文章的人都知道,我真的很喜欢NetBeans的许多功能。 但是,最近,我发现自己对NetBeans特定功能的特定问题越来越恼火。 最终,它使我烦恼不已,促使我开始研究如何根据自己的喜好禁用或更改该功能。 这篇文章介绍了我如何学会按自己的意愿弯曲NetBeans代码模板,从而使我对模板代码完成更加满意。

NetBeans为for循环的几种不同表现形式提供了几种代码模板。 这些包括自动代码完成for阵列上的环,在集合上,上iterables,在地图上,在整数到指定的最大值,等等。 通过

默认情况下,在NetBeans代码编辑器中键入适当的缩写并按空格键后,将自动调用这些代码模板。

我遇到的问题是,在大多数情况下,我只是尝试键入' for ( '以在集合上使用增强的for循环,但是缩写为'for'的NetBeans代码模板正在启动并在其中生成for循环。与十次迭代的整数虽然对于预定次数的历史这样的整数迭代是最常见的用途。 for ,引入的增强的for循环与J2SE 5改变了一切;我现在使用for用于增强的for循环在集合上,数组,并且映射的次数远远超过了我使用它对整数进行规定次数的迭代的次数。

接下来的两个屏幕快照演示了我刚刚描述的问题。 第一个屏幕快照显示了NetBeans代码编辑器,当我准备开始输入for循环以遍历提供给我要实现的方法的集合时。 第二个屏幕快照显示了NetBeans在编辑器中在“ for”之后键入空格后自动生成的代码。 这不是我想要的,因此我必须删除生成的大部分代码,以使其适应我的集合。

这种行为对我来说是个问题,原因是缩写“ for”恰好也是我要输入的Java关键字。 当我在'for'后面输入空格时,我只输入Java代码,但是NetBeans将其解释为我,这意味着我希望for循环的代码模板在整数上生成。 当我输入“ for”时,我几乎从不需要。 解决此问题的一种方法是更改​​NetBeans模板,以便使用除空间以外的其他方式激活它们。 下一系列快照演示了如何执行此操作。 在这种情况下,我将Shift + Space更改为激活代码模板的内容,但是NetBeans还支持使用Tab或Enter作为击键来激活键入的缩写的代码模板。

随着代码模板的更改,使它们被激活(模板在Shift + Space上)(而不是简单地在Space上),困扰我的问题消失了。 这显示在下一个屏幕快照中。 该图显示,在我键入“ for”和一个空格之后,代码保持原样,而不是触发模板代码完成,而添加了我不希望的“ for”循环实现。

我刚刚演示的解决方案(将Space更改为Space + Shift作为扩展代码模板的激活)肯定使我摆脱了使用“ for”循环时我很少想要的代码完成的最初麻烦。 当我确实需要时,我仍然可以使用Space + Shift来完成代码。 最后一点很重要,因为NetBeans确实提供了其他几个“ for”循环完成代码模板,其中包括一个适合我要使用“ for”循环的典型情况的模板。 下一个屏幕快照显示了使用除两个可用的“ for”代码模板之外的所有代码模板的NetBeans中的代码。

作为该图像指示,NetBeans的载体“ ”(整数迭代已经示出),“FORC”(迭代器上收集,允许不允许在迭代器行为通过增强for-each循环),“ ”(换每个样式一般收集/枚举迭代;我最常使用的迭代),“ fori ”(数组迭代),“ forl ”( List迭代)和“ form ”( 映射迭代)作为代码模板的缩写,可自动生成不同类型的“ for”循环。 尽管未在图中显示,但NetBeans还支持代码模板缩写“ forst ”,用于在StringTokenizer上生成“ for”循环,以及“ forv ”,用于在Vector上生成“ for”循环。

此时,当我想要一种不同的“ for”循环类型时,键入适当的NetBeans代码模板缩写后,我可能已经停止并只是计划使用Shift + Space。 但是,这有一些缺点。 首先,似乎更改激活代码模板生成所依据的密钥库是全有还是全无。 当我将其应用于“ for”模板时,所有模板都只能通过Shift + Space激活。 还有其他模板可以更自然地匹配我的需求,我喜欢通过空格激活它们,而不需要使用Shift + Space。 其次,因为我确实在大多数情况下都使用“ for”循环来遍历使用“ for Each”样式增强的for循环遍历集合的同一情况,所以我想我的偏好是每次生成我输入“ for”后跟一个空格的时间。 我只需要在极少数情况下“撤消”这一代,而不希望使用增强的for循环。 幸运的是,NetBeans允许我创建新的代码生成模板并修改现有的模板。 这使我可以将“ for”更改为我想要的情况(“ fore”情况)。 接下来,我将探讨这种方法。

我的计划是将“ fore”模板的“扩展文本”复制为“ for”模板的扩展文本。 但是,我不想在很少的情况下丢失默认情况下“ for”的内容,因此我想创建一个新的代码模板,可以将当前的“ for”扩展文本复制到其中。 就我而言,我正在创建一个缩写为“ fort”的新模板,将现有的“ for”扩展模板文本复制到其中。 然后,我可以将“ fore”的扩展模板文本复制到“ fore”。 这有效地使NetBeans生成我在键入“ for”然后输入空格时几乎总是想要的代码。 这也使我可以更改代码模板,以仅在空格上激活,而不需要Shift + Space。 接下来的三个屏幕快照演示了此过程。

修改“ for” NetBeans代码模板的积极影响是,我能够将迭代变量的final关键字添加到模板中。 这意味着我不需要手动添加“ 最终 ,当我在模板生成后修饰符希望它有 。 当然,这意味着我也可以在NetBeans提供的其他模板中添加final关键字。 将“ for”代码模板更改为我通常想要的情况(在集合上使用for-each-style进行迭代),可以在要实现的方法中实现。 这显示在下一个屏幕快照中。

最后一张图片显示,当我在'for'关键字后键入一个空格时,我现在得到了我最想要的'for'循环。 在极少数情况下,我想要其他类型或使用'for'循环,则可以改用这些类型的代码模板的首字母缩写,或者(更可能是因为我可能不记得使用这些很少使用的代码模板)只是删除代码那不适用。

结论

NetBeans以一种我几乎不想要的方式为我“完成”我的“ for”循环的事实真让我感到不安(为“ 您使我完整 ”赋予了新的含义)。 幸运的是,NetBeans提供了可接受的选项来消除这种刺激性。 如本文所演示的,很容易将NetBeans代码模板更改为基于明显比空格更明确的内容(Shift + Space,Tab或Enter)进行扩展。 更好的是,NetBeans允许添加,修改和删除模板,从而在确定应用哪些模板以及如何应用模板方面具有更大的灵活性。 这看起来似乎是一件小事,但是由于我经常编写的“ for”循环不再对我造成错误,所以我感到非常高兴。

参考:在我们的Inspired by Actual Events博客中,将JCG合作伙伴 Dustin Marx 将NetBeans代码模板弯曲到我的意愿 。

翻译自: https://www.javacodegeeks.com/2013/04/bending-netbeans-code-templates-to-my-will.html

netbeans 定制代码

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/348688.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java 9概览

对于许多Java 9来说,它似乎是一个维护版本,它推动了不能在Java 8中实现的项目Jigsaw。但是,随着JDK中的新模块系统以及与之相关的许多内部更改,Java 9也带来了开发人员工具箱中一些很棒的新内容。 以下是重点内容: JS…

adf开发_了解ADF Faces clientComponent属性

adf开发我相信大多数ADF开发人员都知道ADF Faces属性clientComponent 。 在本文中&#xff0c;我将展示该属性实际上如何影响组件渲染以及它如何改变其行为。 让我们开始考虑一个非常简单的示例&#xff1a; <af:inputText label"Label 1" id"it1" /&g…

Picocli 2.0:事半功倍

介绍 Picocli是一个单文件命令行解析框架&#xff0c;它使您几乎不需要任何代码即可创建命令行应用程序。 使用Option或Parameters注释应用程序中的字段&#xff0c;picocli将分别使用命令行选项和位置参数填充这些字段。 例如&#xff1a; Command(name "Greet", …

移动通信—无线波传播

无线波传播 发射天线或自然辐射源所辐射的无线电波,通过自然条件下的媒质到达接受天线的过程称为无线电波传播。无线电波与可见光、X射线与γ射线-.样同属于电磁波,它们都是以电场和磁场为其特征的- -种电场震动。电磁波的频谱范围很宽,从几赫到3X 1023Hz(波长从几十兆米到10-9…

使用Dropwizard度量标准监视和测量无功应用

在上一篇文章中&#xff0c;我们创建了一个简单的索引代码&#xff0c;该代码可以对ElasticSearch进行数千个并发请求。 监视系统性能的唯一方法是老式的日志记录语句&#xff1a; .window(Duration.ofSeconds(1)) .flatMap(Flux::count) .subscribe(winSize -> log.debug(…

移动通信-多径效应,多普勒效应,菲涅尔区,阴影效应,快衰落,慢衰落

多径效应 信号从发射端到接收端常有许多时延不同、损耗各异的传输路径&#xff0c;可以是直射、反射或是绕射。无线电波的多径效应是指不同路径的相同信号在按收端叠加会增大或减小接收信号能量的现象。 时间色散 在无线通信中&#xff0c;无线电波从发射端到接收端会经过直射、…

四旋翼

更新2018/11 1系统设计 硬件总体框架&#xff08;认识四旋翼的基本组成&#xff09; 机架主要的两种&#xff08;x型控制更难&#xff0c;动作灵活&#xff09; 十字型,X字型 桨 7040,8045&#xff08;常用&#xff09;&#xff0c;前四位直径&#xff0c;后四位角度 正反螺旋…

hotspot线程模型_Linux上的HotSpot GC线程CPU占用空间

hotspot线程模型以下问题将测试您对Linux操作系统上运行的Java应用程序的垃圾收集和高CPU故障排除的知识。 当调查过多的GC和/或CPU利用率时&#xff0c;此故障排除技术尤其重要。 它将假定您无权使用高级监控工具&#xff0c;例如Compuware dynaTrace甚至JVisualVM。 将来将介…

数字信号处理实验一

补充2019/10/26 (1)序列的加、减、乘、除和乘方运算。输入A[1 2 3 4]&#xff0c;B[3 4 5 6]&#xff0c;起点n0&#xff0c;求CAB&#xff0c;DA-B&#xff0c;EA.*B&#xff0c;FA./B&#xff0c;GA.^B&#xff0c;并用stem语句画出A&#xff0c;B&#xff0c;C&#xff0c;D…

SRP是骗局

根据罗伯特马丁 &#xff08; Robert Martin&#xff09;的 《 清洁法 》&#xff08; Clean Code&#xff09; &#xff0c;“ 单一责任原则 ”意味着“一个阶级应该只有一个改变的理由”。 让我们尝试解密这个模糊的语句&#xff0c;看看它如何帮助我们设计更好的面向对象软件…

数字信号处理实验二

补2019/11/2 &#xff08;1&#xff09;编写函数如xsiAdd(x1,n1,x2,n2),实现两个序列x1和x2的相加&#xff0c;其中x1的下标为n1n1s:nlf&#xff0c;x2的下标为n2n2s:n2f。绘制出该函数的图形。设x1&#xff08;n&#xff09;n,0≦n1≦9,x2(n)n,4≦n2≦15。 &#xff08;2&…

apache camel_使用Apache Camel发布/订阅模式

apache camel发布/订阅是一种简单的消息传递模式&#xff0c;其中&#xff0c;发布者将消息发送到某个频道&#xff0c;而无需知道谁将接收消息。 然后&#xff0c;通道负责将消息的副本传递给每个订户。 此消息传递模型可以创建松耦合和可伸缩的系统。 这是一种非常常见的消息…

Java 9:JShell

JShell是Java 9中引入的新工具&#xff0c;用于评估在命令行上输入的Java语句。 它是Java平台上第一个正式的REPL&#xff08;读取-评估-打印循环&#xff09;实现&#xff0c;非常适合尝试Java代码而无需启动IDE或编写完整的程序&#xff01; 要运行JShell&#xff0c;只需在…

三句话介绍清楚滑动窗口协议/GBN/SR

滑动窗口协议、GBN、SR之间不得不说的故事 首先我们来介绍什么是滑动窗口协议 滑动窗口协议&#xff08;Sliding Window Protocol&#xff09;&#xff0c;属于TCP协议的一种应用&#xff0c;用于网络数据传输时的流量控制&#xff0c;以避免拥塞的发生。该协议允许发送方在停…

《计算机网络自顶向下》之重头戏迪杰斯特拉算法

迪杰斯特拉算法(Dijkstra)是由荷兰计算机科学家狄克斯特拉于1959 年提出的&#xff0c;因此又叫狄克斯特拉算法。是从一个顶点到其余各顶点的最短路径算法&#xff0c;解决的是有权图中最短路径问题。迪杰斯特拉算法主要特点是从起始点开始&#xff0c;采用贪心算法的策略&…

新闻发布系统java ee_Java EE 7发布–反馈和新闻报道

新闻发布系统java eeJava EE 7已经存在了几天。 我们所有人都有机会观看直播活动或可用的重播 。 最后的MR版本完成了将其工作推向JCP的工作&#xff0c;基本上是一个总结。 是时候反思发生的事情和我对此的想法了。 启动活动中的社区参与 它不是一个大秘密。 即使Oracle的Jav…

在即将发布的Camel 2.21版本中改进了使用Apache Camel和ActiveMQ Artemis处理大型消息的功能...

从历史上看&#xff0c; Apache ActiveMQ消息代理最初是在大型消息以MB为单位而不是GB的情况下创建的&#xff0c;就像您今天所做的那样。 下一代代理Apache ActiveMQ Artemis&#xff08;或仅是Artemis&#xff09;则不是这种情况&#xff0c;后者对大消息有更好的支持。 因…

深入浅出组合逻辑电路(1)

定义&#xff1a;电路在任意时刻的输出仅由该时刻的输入信号决定&#xff0c;与之前的输入信号无关。 组合电路通常有一些逻辑门构成&#xff0c;许多具有典型功能的组合电路已经集成为商品电路。&#xff08;加法器&#xff0c;译码器等&#xff09; 分析步骤&#xff1a; …

深入浅出逻辑组合电路(2)

深入浅出逻辑组合电路&#xff08;2&#xff09; 门电路中的冒险现象 通常讨论逻辑电路时&#xff0c;只从抽象的逻辑角度进行描述&#xff0c;不考虑实际电路中必然存在的信 号传输时延和信号电平变化时刻对逻辑功能的影响。逻辑门的传输时延以及多个输入信号变 化时刻不同步…

学习数字电路必须知道的几种编码

2-10进制编码&#xff08;BCD编码&#xff09; BCD码&#xff1a;使用一个四位二进制代码表示一位十进制数字的编码方法。 一、8421码 选取0000~1001表示十位二进制数 0到9 按自然顺序的二进制数表示所对应的十进制数字&#xff0c;是有权码&#xff0c;从高位到地位的权依…