转自:http://my.oschina.net/angerbaby/blog/471351

当我们使用IDE写代码时,为了保证代码的可阅读性和优雅性,通常会借助IDE的代码风格设置功能,令IDE智能完成的代码部分或者格式化输入的代码,可以按照预期的格式输出。其中有一项设置就是限制一行代码的宽度,以IDEA举例,默认限制为120,如下图所示,图中所标注的垂直线即使代码行宽度的限制提示。

那么如何在IDEA中修改这个限制数值呢?在File->settings->Code Style->General中,修改“Right margin (columns)”的值即可改变代码行宽度的限制。

有人会问,如果输入的代码超出宽度界线时,如何让IDE自动将代码换行?有两种方式!第一种,在上述的“Right margin (columns)”的下方,有“Wrap when typing reaches right margin”选项,选中它,是什么效果呢?如下图所示,随着输入的字符的增加,当代码宽度到达界线时,IDEA会自动将代码换行。  

第一种方式是在输入代码时触发,还有第二种方式,在File->settings->Code Style->Java中,选中“Wrapping and Braces”选项卡,在“Keep when reformatting”中有一个“Ensure rigth margin is not exceeded”,选中它,是什么效果呢?从配置项的字面意思很容易理解,在格式化Java代码时,确保代码没有超过宽度界线。

即输入的代码超出界线后, 

不要紧,按下“Ctrl+Alt+L”格式化代码。 

IDE能帮我们在超出代码宽度界线时自动换行自然是好,可上述两种方式依旧有不妥之处,就是IDE只会帮我们主动换行一次!当IDE自动换行后,代码长度依旧超出界线时,就需要手动处理了。而且不难看出IDE所做的换行处理简单粗暴,未必是我们想要的结果(有时我们期望可以字符串换行拼接可能更优雅些)。

所以我个人建议,IDE所给出的宽度界线是好的,但真正控制、优化代码宽度的格式需要我们编码时养成良好的习惯,避免单行代码过长,避免不了时自己手动找到合适的截点,进行换行处理,且更符合各自实际的编码格式需求。

IntelliJ IDEA,代码行宽度超出限制时自动换行的更多相关文章

  1. IDEA 设置代码行宽度

    1.在File->settings->Editor->Code Style 2.在File->settings->Editor->Code Style->XM ...

  2. 统计C/C++代码行数

    近日在写一个统计项目中C/C++文件(后缀名:C/CPP/CC/H/HPP文件)代码行数的小程序.给定包含C/C++代码的目录,统计目录里所有C/C++文件的总代码行数.有效代码行数.注释行数.空白行 ...

  3. 使用 IntelliJ IDEA 开发一般 Java 应用程序时配置 Allatori 进行代码混淆

    使用 IntelliJ IDEA 开发一般 Java 应用程序时通过 Allatori 进行代码混淆非常容易配置,下面总结一下本人经验,介绍一下配置方法. 首先在 IDEA 的 Module 所在硬盘 ...

  4. Intellij idea利用Statistic插件统计项目代码行数

    1 . 插件介绍统计项目中各个文件的数量,大小,行数,平均等信息根据扩展名自定义统计详细行数信息 , 包括总行数,代码行数,代码行数占比,注释行数,注释行数占比,空白行数,空白行数占比自定义选择多个文 ...

  5. VS使用技巧——统计代码行数

    通常为了统计一个文件或者一整个解决管理方案中代码行量,可能会选择定位来获取行量,但是当文件尤其大时,传统方式就不行了,这里推荐使用正则表达式搜索统计,可以快速获取目标文档的总代码量. Tips: ct ...

  6. 报告一个IE很奇葩的滚动条问题——百分比计算宽度为浮点数时的滚动条显示异常

    起因: 做项目的时候做了一个表格内容超过DIV容器自动横向滚动处理.别的浏览器都正常:但是在IE下面明明表格table和容器DIV宽度一致但是却出现了滚动条.如图 然后本人做实验找了半天原因终于是找到 ...

  7. VIM技巧之去除代码行号并缩进代码

    从网上找源代码时经常会发现代码虽然排版很好,但是前面带着行号,直接复制粘贴得将前面的行号去掉才能编译,而更糟糕的是前面带行号,而代码又没排版,简直是噩梦.在VIM中可以轻易地解决这个问题. 这里将网上 ...

  8. dSYM atos crash log 定位到代码行的方法(转)

    做iOS开发的时候,常常会遇到crash,需要分析call stack的时候.有时候App在别人的设备崩溃,把crash report在自己的机器上打开,Xcode没有自动的进行符号化.这时候就需要自 ...

  9. 统计文件夹下java代码行数的小程序--主要是学习任务队列的思想

    首先感谢czbk的老师,录制的视频,让我们有这么好的学习资料.……—— 统计文件夹java文件的行数,首先想到的肯定是用递归的方法,因为文件夹下面可能包含文件夹,用递归的方法,代码容易写.(这和写简单 ...

随机推荐

  1. Open Auth辅助库(使用ImitateLogin实现登录)

    网络上越来越多的公司进行着自己的平台化策略,其中绝大多数都已Web API的方式对外提供服务,为了方便的使用这些服务,你不得不引用许多相关的类库,但是API的本质其实仅仅是一些约定的网络请求,我们大多 ...

  2. lucene分词器与搜索

    一.分词器 lucene针对不同的语言和虚伪提供了许多分词器,我们可以针对应用的不同的需求使用不同的分词器进行分词.我们需要注意的是在创建索引时使用的分词器与搜索时使用的分词器要保持一致.否则搜索的结 ...

  3. 仿哔哩哔哩应用客户端Android版源码项目

    这是一款高仿哔哩哔哩安卓客户端,跟官方网的差不多吧,界面也几乎是一样的,应用里面也加了一些弹出广告,大家可以参考一下吧,安装测试包在源码文件那里,大家可以多多参考一下. 哔哩哔哩弹幕网是国内知名的弹幕 ...

  4. css3选择器(一)

    直接开始正文. 一.css3同级元素通用选择器[update20161228] 选择器:E~F 匹配任何在E元素之后的同级F元素 Note:E~F选择器选中的是E元素后面同级元素中的全部F元素. 例: ...

  5. jquery图片时钟

    一.生成数字时钟 <script src="http://code.jquery.com/jquery-latest.js"></script> <s ...

  6. 台湾辅仁大学的python教程笔记

    散记,因为主讲老师讲得也很乱..说课后的自习才是最重要的- 1.就这样,笔记看下.. 2. Modules 模组 很多模组放在一起就是一个packages 一个packages 一定有有__init_ ...

  7. ANSI Common Lisp Learn

    It has been a long time that I haven't dealt with my blog. On one hand I was preparing the exams.On ...

  8. Stanford coursera Andrew Ng 机器学习课程编程作业(Exercise 1)

    Exercise 1:Linear Regression---实现一个线性回归 在本次练习中,需要实现一个单变量的线性回归.假设有一组历史数据<城市人口,开店利润>,现需要预测在哪个城市中 ...

  9. CF 371C-Hamburgers[二分答案]

    C. Hamburgers time limit per test 1 second memory limit per test 256 megabytes input standard input ...

  10. qau-国庆七天乐——B

      B - Bull Math   Time Limit:1000MS     Memory Limit:65536KB     64bit IO Format:%lld & %llu Sub ...