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 定制代码

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

  1. 将NetBeans代码模板弯曲到我的意愿

    任何阅读过我关于NetBeans的文章的人都知道,我真的很喜欢NetBeans的众多功能. 但是,最近,我发现自己对NetBeans特定功能的特定问题越来越恼火. 最终,它使我烦恼不已,促使我开始研究 ...

  2. 给Source Insight做个外挂系列之三--构建外挂软件的定制代码框架

    上一篇文章介绍了"TabSiPlus"是如何进行代码注入的,本篇将介绍如何构建一个外挂软件最重要的部分,也就是为其扩展功能的定制代码.本文前面提到过,由于windows进程管理的限 ...

  3. JEPaas代码_((表单)_输入字段值而改变值)

    JEPaas代码_笔记((表单)_输入字段值而改变值) 我也是新手入门,不是很熟练JEPaas后台,正在学习中- var v=parseInt(value);console.warn('出库数量改变' ...

  4. 三行情书代码_用三行代码优化您的交易策略

    三行情书代码 If you want to consistently earn money with your investments, backtesting is one of the best ...

  5. 工作10年厌倦写代码_厌倦了数据质量讨论?

    工作10年厌倦写代码 I have been in tons of meetings where data and results of any sort of analysis have been ...

  6. new org.netbeans.lib.awtextra.AbsoluteConstraints org.netbeans.lib.awtextra.AbsoluteLayout()

    IDEA导入一个工程,报错找不到new org.netbeans.lib.awtextra.AbsoluteConstraints org.netbeans.lib.awtextra.Absolute ...

  7. TinkPHP内核仿每推推51领啦试客源码_PC源码+WAP端+APP原生代码_自带5套精美模板

    TinkPHP内核仿每推推51领啦试客源码_PC源码+WAP端+APP原生代码_自带5套精美模板 源码说明:TinkPHP内核上制作而成,是全国领先的免费试用网站!程序全开源无加密!带有wap手机端, ...

  8. html圣诞树代码_支持手机选择背景音乐圣诞树源码

    html圣诞树代码_支持手机选择背景音乐圣诞树源码小子在本地测试了下,圣诞树会根据音乐变化起来,挺好看的手机打开显示黑屏的问题,已经修复适配,上传服务器即可,如果加载慢就把远程js和css本地化或者更 ...

  9. 搞笑的好友印象代码_笨蛋┗━━┛人笨不能复生

    搞笑的好友印象代码_笨蛋┗━━┛人笨不能复生 <!-- /title --> - ◇ ゛ 爷━Ren ◇ ゛ 们━Ren ╭笨蛋╮. ┗━━┛人笨不能复生 节哀 ↗↘ 结婚无限好 ✱彡 ↖ ...

最新文章

  1. 用Python爬虫破解滑动验证码
  2. 蓝桥杯“基础练习:特殊回文数
  3. array_map与array_column之间的关系
  4. matlab神经模糊推理系统
  5. 将h.264视频流封装成flv格式文件
  6. 2021年Java后端技术知识体系
  7. access下如何配置两个vlan_不同vlan间的通信如何简单配置(三种方式) ?
  8. java不同的包下相同的类名的问题与解决办法
  9. 超囧的图片链接批量获取和下载
  10. NRF52840 USB串口例程
  11. 关于职业发展:一篇不错的文章分享
  12. MRT批处理 MODIS影像
  13. mc服务器常用指令_我的世界服务器指令大全 最新服务器指令汇总
  14. 单点遥信发送表里一般都有什么变量啊?
  15. tracking里面的性能图怎么画,类似ocean论文中的
  16. 怎样将语音转化为文字
  17. 基于HTTP的简单网络爬虫
  18. c++应用程序内存泄露检测
  19. 三大框架-Spring
  20. Python可视化数据分析02、Scrapy框架-强化测试Scrapy-CSS

热门文章

  1. 深入理解分布式系统中的缓存架构(下)
  2. JavaFX UI控件教程(二十六)之Pagination Control
  3. 如何在一分钟内搞定面试官
  4. Oracle入门(十四.5)之识别数据类型
  5. 使用ueditor实现多图片上传案例——DaoImpl层(ShoppingDaoImpl)
  6. 2019蓝桥杯省赛---java---B---6(特别数的和)
  7. linux将光驱挂载到目录下,Linux操作系统下关于光驱的挂载
  8. 反射、HashMap、ArrayList与LinkedList区别
  9. oracle 10741 trace,RedHat5.3上安装Oracle 10.2.0.1
  10. java快排原理_Java数据结构与算法——快速排序