java怎么规整代码 java整理代码

如何使用indent整理程序格式

用source insight 编辑代码时,苦于source insight没有集成的代码格式化工具, GNU的astyle是一个免费的代码格式化工具,能够整理符合c/c++规范。

目前创新互联建站已为上千多家的企业提供了网站建设、域名、网页空间、绵阳服务器托管、企业网站设计、浦北网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。

我们可以将astyle.exe外挂到SourceInsight中。详细步骤如下:

1:从http //astyle sourceforge net上下载AStyle_2.01_windows.zip (开放源码,可以仔细阅读);

2:解压缩后将bin文件夹下的astyle.exe放到source insight目录下(自己可以放在任意位置)

在SourceInsight菜单栏里,Options--Custom Commands界面上选择:Add,在弹出对话框写入 Astyle.

3:在run中添加astyle.exe --style=ansi %f,其中,如果astyle.exe所在路径中有空格,必须用""括起来,参数--style=ansi 代表ansi C 格式(如果你需要格式化java代码,这个地方改为:--style=java),"%f"是指作用于当前文件,这个必须的.其它命令参数可以参考astyle的帮助参数可以查看网页http //astyle sourceforge net/astyle.html

4:此外,在此界面上还可以为这个命令设置快捷键,点击"keys",添加你觉得方便的按钮;

5:在SourceInsight菜单栏里,Options--Menu Assignments界面上,将这个命令名称为Astyle添加到某工具栏下,我是依然放在了view下,在左面的Command列表里找到我们刚才添加的"Astyle",在右面的Menu中选择你要加到那个菜单下,这里我加到"view"下,可以在"Menu Contents"选择适当位置,点击"insert"即可。

1. 格式化从根开始的整个项目

AStyle.exe -A1 -R ./*.c ./*.h -bt4 -Sw -fpxHU -Jk3 -n %f

参数 意义

Predefined Style Options

-A1 代表 --style = ansi or allman模式

Tab and Bracket options

-b 代表 语句块之前加上空格

-t4 代表 each tab as 4 spaces

Indentation options

-S 代表 switch开关语句,以便于使case x: 对自动对齐

-w 代表 用“/”对齐多行参数

Padding options

-f 代表 不相关的代码之间加空行

-p 代表 双目运算符前后加上空格,如:+ - * /

-x 代表 删除相关语句之是的空行. 如:if, else语句间的空行

-H 代表 在if, for, while关键字与括号()之间加上空格

-U 代表 移除括号两边不必要的空格

Formatting options

-J 代表 为单行语句加上{}

-k3 代表 指针及引用(*, )符号,挨着变量名

Other option

-n 代表 不生成备份。默认生成 .orig文件

-R 代表 目录递归

注:

格式化从根开始的整个项目,指的是把整个项目里的所有.c .h文件都格式化。打开工程目录,插件会自动识别出项目的根目录的。格式化后,这个项目就会全部更改。而且在格式化的过程中,会很消耗时间。

造成的后果:在进行SVN提交时,由于先前的SVN代码与此不同,会进行大面积的更改。如果修改了格式化选项,还会造成代码的重新提交。如果大量文件产生格式问题,会把实际修改的内容掩盖掉,在回溯记录进行问题确认时,会产生麻烦。容易忽略了主要问题。

建议:尽量少用此选项。如果为了使用整个项目更规范,可以使用此选项。提交单个文件时最好不要使用此选项。

2. 格式化当前目录下的.c文件

AStyle.exe -A1 -R ./test/*.c -bt4 -Sw -fpxHU -Jk3 -n %f

参数意义从略,看上面.

-R 后面添加所修改工程的路径,及文件名,就可以执行只格式化该目录下的.c文件。路径中的是用“/” or “/”都可以录找到路径。

建议:在进行工程项目部分模块开发时,如果为了使这部分项目模块更规范,可以使用此选项。对于频繁修改少量多个文件。可以使用此选项,以实现批处理文件的功能。

3. 格式化单个文件

AStyle.exe -A1 -bt4 -Sw -fpxHU -Jk3 -n %f

参数从略,看上面

只进行当前修改文件的格式化处理。只针对单个文件起作用。这样很容易使所写文件更加的规范。在编写代码过程中,可以省去很多调整代码结构的时间,是最常用的选项。

建议:在平时编写代码时,尽量使用此选项。只对单个文件进行处理,不会影响其它文件。

在SVN进行提交时,影响最小。

下面是各选项的效果,如果个人有需要,可以按其效果进行更改参数,可能会造成多人编写代码的样式不同。

--recursive / -r / -R

在每个目录下执行命令。可以处理所有子目录下的文件。当用此选项时,文件名应当包含通配符,应当指名路径,名称。以便shell会执行。 e.g. "$HOME/src/*.cpp"

--brackets=break / -b

void Foo(bool isFoo)

{

if (isFoo)

{

bar();

}

else

{

anotherBar();

}

}

--indent=tab / --indent=tab=# / -t / -t#

对齐使用tab字符。每个tab 代表 # 个spaces ( e.g. -t6 / --indent=tab=6) #必须在2-20之间, 如果不设置,就当作4个spaces.

--indent-switches / -S

switch开关语句,以便于使case x: 对自动对齐。

switch (foo)

{

case 1:

a += 1;

break;

case 2:

{

a += 2;

break;

}

}

becomes:

switch (foo)

{

case 1:

a += 1;

break;

case 2:

{

a += 2;

break;

}

}

--indent-preprocessor / -w

用“/”对齐多行参数

#define Is_Bar(arg,a,b) /

(Is_Foo((arg), (a)) /

|| Is_Foo((arg), (b)))

becomes:

#define Is_Bar(arg,a,b) /

(Is_Foo((arg), (a)) /

|| Is_Foo((arg), (b)))

--break-blocks / -f

在关键字if, for, while与()之间填充空格,在不相关代码之间加上空行

isFoo = true;

if (isFoo) {

bar();

} else {

anotherBar();

}

isBar = false;

becomes:

isFoo = true;

if (isFoo) {

bar();

} else {

anotherBar();

}

isBar = false;

--pad-oper / -p

在各双目运算符的前后分别加上空格,行末会保持原样。

if (foo==2)

a=bar((b-c)*a,d--);

becomes:

if (foo == 2)

a = bar((b - c) * a, d--);

--delete-empty-lines / -x

删除函数里边的空行。函数外面的空行不会被删除。

void Foo()

{

foo1 = 1;

foo2 = 2;

}

becomes:

void Foo()

{

foo1 = 1;

foo2 = 2;

}

--pad-header / -H

在关键字 ‘if’,‘for’, ‘while’..与括号之间填充空格。任何行注释的末尾都会保留原始列。

if(isFoo(a, b))

bar(a, b);

becomes:

if (isFoo(a, b))

bar(a, b);

--unpad-paren / -U

移除括号里边和外边的的无用空间

if ( isFoo( a, b ) )

bar ( a, b );

becomes (with no padding option requested):

if(isFoo(a, b))

bar(a, b);

--add-one-line-brackets / -J

为 ‘if’, ‘for’, ‘while’里的单行语句加上{}。这条语句只能和{}在同一行。如果相变成不同行,需要手动修改。

if (isFoo)

isFoo = false;

becomes:

if (isFoo)

{ isFoo = false; }

--align-pointer=type / -k1

--align-pointer=middle / -k2

--align-pointer=name / -k3

对齐指针,引用(* or )的标号位置,使其位于变量类型一侧或变量名一侧,也可以处在类型与名称之间。

char *foo1;

becomes (with align-pointer=type):

char* foo1;

char* foo2;

becomes (with align-pointer=middle):

char * foo2;

char foo3;

becomes (with align-pointer=name):

char foo3;

--suffix=none / -n

不保留文件的备份文件。文件在格式化之后,原始文件会清除

IDEA的 最新版的整理代码的快捷键是什么??

Ctrl+Alt+L 格式化代码

Ctrl+Shift+J 两行合成一行,删去不必要的空格匹配代码格式

其他快捷键:

【常规】

Ctrl+Shift + Enter,语句完成

“!”,否定完成,输入表达式时按 “!”键

Ctrl+E,最近的文件

Ctrl+Shift+E,最近更改的文件

Shift+Click,可以关闭文件

Ctrl+[ OR ],可以跑到大括号的开头与结尾

Ctrl+F12,可以显示当前文件的结构

Ctrl+F7,可以查询当前元素在当前文件中的引用,然后按 F3 可以选择

Ctrl+N,可以快速打开类

Ctrl+Shift+N,可以快速打开文件

Alt+Q,可以看到当前方法的声明

Ctrl+P,可以显示参数信息

Ctrl+Shift+Insert,可以选择剪贴板内容并插入

Alt+Insert,可以生成构造器/Getter/Setter等

Ctrl+Alt+V,可以引入变量。例如:new String(); 自动导入变量定义

Ctrl+Alt+T,可以把代码包在一个块内,例如:try/catch

Ctrl+Enter,导入包,自动修正

Ctrl+Alt+L,格式化代码

Ctrl+Alt+I,将选中的代码进行自动缩进编排,这个功能在编辑 JSP 文件时也可以工作

Ctrl+Alt+O,优化导入的类和包

Ctrl+R,替换文本

Ctrl+F,查找文本

Ctrl+Shift+Space,自动补全代码

Ctrl+空格,代码提示(与系统输入法快捷键冲突)

Ctrl+Shift+Alt+N,查找类中的方法或变量

Alt+Shift+C,最近的更改

Alt+Shift+Up/Down,上/下移一行

Shift+F6,重构 – 重命名

Ctrl+X,删除行

Ctrl+D,复制行

Ctrl+/或Ctrl+Shift+/,注释(//或者/**/)

Ctrl+J,自动代码(例如:serr)

Ctrl+Alt+J,用动态模板环绕

Ctrl+H,显示类结构图(类的继承层次)

Ctrl+Q,显示注释文档

Alt+F1,查找代码所在位置

Alt+1,快速打开或隐藏工程面板

Ctrl+Alt+left/right,返回至上次浏览的位置

Alt+left/right,切换代码视图

Alt+Up/Down,在方法间快速移动定位

Ctrl+Shift+Up/Down,向上/下移动语句

F2 或 Shift+F2,高亮错误或警告快速定位

Tab,代码标签输入完成后,按 Tab,生成代码

Ctrl+Shift+F7,高亮显示所有该文本,按 Esc 高亮消失

Alt+F3,逐个往下查找相同文本,并高亮显示

Ctrl+Up/Down,光标中转到第一行或最后一行下

Ctrl+B/Ctrl+Click,快速打开光标处的类或方法(跳转到定义处)

Ctrl+Alt+B,跳转到方法实现处

Ctrl+Shift+Backspace,跳转到上次编辑的地方

Ctrl+O,重写方法

Ctrl+Alt+Space,类名自动完成

Ctrl+Alt+Up/Down,快速跳转搜索结果

Ctrl+Shift+J,整合两行

Alt+F8,计算变量值

Ctrl+Shift+V,可以将最近使用的剪贴板内容选择插入到文本

Ctrl+Alt+Shift+V,简单粘贴

Shift+Esc,不仅可以把焦点移到编辑器上,而且还可以隐藏当前(或最后活动的)工具窗口

F12,把焦点从编辑器移到最近使用的工具窗口

Shift+F1,要打开编辑器光标字符处使用的类或者方法 Java 文档的浏览器

Ctrl+W,可以选择单词继而语句继而行继而函数

Ctrl+Shift+W,取消选择光标所在词

Alt+F7,查找整个工程中使用地某一个类、方法或者变量的位置

Ctrl+I,实现方法

Ctrl+Shift+U,大小写转化

Ctrl+Y,删除当前行

Shift+Enter,向下插入新行

psvm/sout,main/System.out.println(); Ctrl+J,查看更多

Ctrl+Shift+F,全局查找

Ctrl+F,查找/Shift+F3,向上查找/F3,向下查找

Ctrl+Shift+S,高级搜索

Ctrl+U,转到父类

Ctrl+Alt+S,打开设置对话框

Alt+Shift+Inert,开启/关闭列选择模式

Ctrl+Alt+Shift+S,打开当前项目/模块属性

Ctrl+G,定位行

Alt+Home,跳转到导航栏

Ctrl+Enter,上插一行

Ctrl+Backspace,按单词删除

Ctrl+”+/-”,当前方法展开、折叠

Ctrl+Shift+”+/-”,全部展开、折叠

Alt+1,项目

Alt+2,收藏

Alt+6,TODO

Alt+7,结构

Ctrl+Shift+C,复制路径

Ctrl+Alt+Shift+C,复制引用,必须选择类名

Ctrl+Alt+Y,同步

Ctrl+~,快速切换方案(界面外观、代码风格、快捷键映射等菜单)

Ctrl+Tab,转到下一个拆分器

Ctrl+Shift+Tab,转到上一个拆分器

【重构】

Ctrl+Alt+Shift+T,弹出重构菜单

Alt+Delete,安全删除

Ctrl+Alt+N,内联

【查找】

Ctrl+F,查找

Ctrl+R,替换

Ctrl+Shift+F,在路径中查找

Ctrl+Shift+R,在路径中替换

Ctrl+Shift+S,搜索结构

Ctrl+Shift+M,替换结构

【VCS】

Alt+~,VCS 操作菜单

Ctrl+K,提交更改

Ctrl+T,更新项目

Ctrl+Alt+Shift+D,显示变化

补充说明:

IDEA 全称IntelliJ IDEA,是java语言开发的集成环境,IntelliJ在业界被公认为最好的java开发工具之一,尤其在智能代码助手、代码自动提示、重构、J2EE支持、Ant、JUnit、CVS整合、代码审查、 创新的GUI设计等方面的功能可以说是超常的。IDEA是JetBrains公司的产品,这家公司总部位于捷克共和国的首都布拉格,开发人员以严谨著称的东欧程序员为主。

java堆栈代码行数不一致

java堆栈代码行数不一致,需要4个步骤进行修复。

1、这个错误明显是字符串转int时出现的,但当前行号701不会出现此问题。

2、观察其前后代码,发现703行开始有转换代码。

3、检查代码和业务,发现是调用接口传参有问题。

4、代码修复。

MyEclipse,HTML页面的代码如何格式化/整理?

HTML页面的代码如何格式化、整理 解决办法如下:

1、打开Windows——“Preference(首选项)”

2、在弹出的“Preference(首选项)”窗口界面,找到左侧java导航 ----“editor ”-----“save actions”。

3、在右侧“Save Actions”里找到“Perform the selected actions on save”前打上√,点击“ok”保存。


当前文章:java怎么规整代码 java整理代码
标题链接:http://ybzwz.com/article/hpgoie.html