有没有办法在eclipse之外使用eclipse附带的格式化程序?我想使用我使用eclipse配置的formatter.xml文件格式化一些java文件.有没有人有任何代码示例可以让我这样做?我也想使用这个独立的,所以使用的特定罐子会很好.
我被指派在一个庞大的Java项目上做一些工作,并且几个迭代开发人员的影响是显而易见的.没有标准的编码风格,格式,命名约定或类结构.这是我和Javadoc一起上课的好日子,单元测试是一个快乐的白日梦.
到目前为止,我们这个项目的人已经"融入",适应我们正在进行的任何类别的现有惯例,但现在是时候强加一些秩序和一致性.
这是一项艰巨的挑战,我正在寻找人们可能对此类任务提出的任何建议.是否有任何特别有效的策略,或者需要注意的陷阱?尝试是一个好主意吗?
编辑添加:我不想给人一种项目不好的印象 - 它实际上是设计稳固而且写得很好.它只是感受它的年龄和维护的必然性......
我不知道如何描述它,但我正在寻找一种工具,可以为我的代码提供关于如何...更优雅的建议.
例如,使嵌套的if()语句成为switch语句.这样的事情.由于我不知道如何描述我的问题,我不知道该搜索什么.我的东西代码美化不要专门改变陈述吧?
什么是Java最好的漂亮打印库?我的意思是一个用于打印带缩进,中断提示等格式化输出的库,而不是用于美化/重新格式化Java代码本身的库.理想情况下,图书馆会System.out.println与朋友"玩得很开心" .
有关我正在寻找的内容的概念,请参阅OCaml的Format模块,尤其是Format.fprintf.
[更新]我不是在寻找控制台窗口库.漂亮的打印库允许您定义格式化任意值的方法,以便保留缩进并在合理的位置选择换行符.这些库存在于Haskell,Standard ML,OCaml,F#和Scheme中.该XTC库提供了一些此功能的xtc.tree.Printer,但它并不像在其他语言库一样灵活.
我编写了代码生成器,使用Antlr从自定义IDL创建Java和C++源代码.除Java代码格式外,它完美地工作.目前我使用Gnu Indent,但它吐出的格式几乎不可读,并使调试变得痛苦.我希望使用与NetBeans相同的代码格式化程序(例如,当您按Alt + Shift + F时)格式化生成的文件.我不想要的是浏览每个文件并手动按Alt + Shift + F. 我尝试使用NetBeans API,但要么我没有找到正确的位置,要么谷歌是一个白痴,我找不到一个正确的工作示例来对未加载到编辑器中的文件执行此操作...
有人至少可以指导我朝着正确的方向前进吗?
我知道这很傻但我不能克服好奇心.是否可以编写一个shell脚本来格式化一段java代码?
例如,如果用户在代码中写入:
    public class Super{
    public static void main(String[] args){
    System.out.println("Hello world");
    int a=0;
    if(a==100)
    {
    System.out.println("Hello world");
    }
    else
    {
    System.out.println("Hello world with else");
    }
    }
}
我想写一个shell脚本,它会使代码像这样.
 public class Super
 {
  public static void main(String[] args)
  {
   System.out.println("Hello world");
   int a=0;
   if(a==100){
    System.out.println("Hello world");
   }
   else{
    System.out.println("Hello world with else");
   }
}
确切地说,我们应该改变花括号的格式.如果是try/catch或控制结构,我们应该将它改为同一行,如果它是函数/方法/类,它应该在下一行.我对sed和awk知之甚少,它可以很容易地完成这个任务.我也知道这可以用eclipse完成.
我正在寻找一种能够以尽可能多的语言打印(AKA整洁或美化)源代码的工具.那些我特别热衷的包括:
理想情况下,该工具应该能够就地更新源文件,并且能够一次格式化多个文件.如果能够格式化包含多种语言的文件(例如包含HTML,Java和JavaScript源代码的JSP),那将会很棒,但这可能要求更多.
我已经找到了一个似乎涵盖了很多语言的商业工具,但免费的会更好:)
顺便说一句,我知道大多数语言都有可用的打印机,但我正在寻找的是"一站式服务".
干杯,唐
我正在使用FreeMarker生成java代码,但由于大多数是动态生成的,因此很难控制代码的形成.
我希望代码格式化得很好.有没有人知道lib或类似于java代码的漂亮打印机?
有一些插件可以使用来自 Maven 的 Eclipse 格式化程序来格式化代码,并且不难找到从命令行运行它的说明。但是,此格式化程序不会组织/优化导入语句。
我想这样做的原因是我已经生成了一些代码,使用了一个模板。预先确定需要哪些导入以及不需要哪些导入会很复杂,因此我最终导入了很多最终没有使用的东西。之后清理未使用的导入的格式化程序将巧妙地解决问题。
具体来说,我想自动删除未使用的导入,而不是从 IDE 中删除。我怎样才能做到这一点?
我的团队正在几个不同的IDE中开发Java代码,这些IDE具有不同数量的列.到目前为止,它运行良好,但我们已被要求向合作伙伴提供可编译的代码,其源代码限制为80列.我们希望以礼貌的方式做到这一点,但我们无法/愿意每天使用80列有限代码.是否有任何可用的工具可以使用Java代码,并智能地添加换行符以使其适合80个字符并仍然可以正确编译?理想情况下,我希望它是我们构建过程中的一个自动化步骤,递归遍历.java文件的源目录并生成具有新格式的副本.
我对80列代码或编辑器的优点不感兴趣,只是在看是否有快速解决方案可以让每个人都感到高兴,而不必改变他们做事的方式.
我有这个编程任务,可以在米和英尺之间,以及千克到磅之间进行转换.当我告诉程序我想要转换重量(通过在提示时输入"w"),它给了我以下错误:
Error: Too many input characters error.
我在这方面工作了很长时间,但无法搞清楚.有人可以告诉我如何使重量转换像长度转换一样工作吗?
import java.util.Scanner;
/**
 * This class..
 */
public class UnitConversion3b
{
    public static void main(String[] args)   
    {
        Scanner keyboard = new Scanner(System.in);
        String maxInputWarning = "\nError: Too many input characters."
        + "\nProgram is now terminating.";
        String lengthOrWeight;
        final double LENGTH_CONVERSION_FACTOR = 3.2808399;
        final double WEIGHT_CONVERSION_FACTOR = 2.20462;
        String whichWeightConversion = "empty" , whichLengthConversion = "empty";
        double feet = 0, meters = 0, pounds =0 , kilograms = 0;
        double metersConvertedToFeet, feetConvertedToMeters;
        double …java ×10
formatting ×3
coding-style ×2
pretty-print ×2
eclipse ×1
formatter ×1
ide ×1
import ×1
io ×1
legacy ×1
netbeans ×1
refactoring ×1
scripting ×1
shell ×1
unix ×1