gpt4 book ai didi

java - 如何以编程方式使用 Intellij IDEA 代码格式化程序?

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:28:49 26 4
gpt4 key购买 nike

我使用 Eclipse jdt 来格式化我生成的 java 文件,如下所示:

public String format(String code)
throws MalformedTreeException, BadLocationException {
Map options = new java.util.HashMap();
options.put(JavaCore.COMPILER_SOURCE, "1.5");
options.put(JavaCore.COMPILER_COMPLIANCE, "1.5");
options.put(JavaCore.COMPILER_CODEGEN_TARGET_PLATFORM, "1.5");

DefaultCodeFormatterOptions cfOptions =
DefaultCodeFormatterOptions.getDefaultSettings();
cfOptions.insert_new_line_after_annotation = false;
cfOptions.comment_insert_new_line_for_parameter = true;

cfOptions.blank_lines_before_method = 1;
cfOptions.number_of_empty_lines_to_preserve= 1;

cfOptions.tab_char = DefaultCodeFormatterOptions.SPACE;

CodeFormatter cf = new DefaultCodeFormatter(cfOptions, options);

TextEdit te = cf.format(CodeFormatter.K_UNKNOWN, code, 0,
code.length(), 0, null);
IDocument dc = new Document(code);

te.apply(dc);
return dc.get();
}

但问题是如何以编程方式使用 Intellij Idea 代码格式化程序 API,如上所示? Jetbrains 是否引入了任何 API?

最佳答案

是的,您可以在 IntelliJ 中以编程方式格式化代码。

这样做的关键是:

CodeStyleManager styleManager = CodeStyleManager.getInstance(project);
PsiElement psiFile = event.getData(LangDataKeys.PSI_FILE);
styleManager.reformat(psiFile);

我有一个示例插件可以做到这一点。看看here .

关于java - 如何以编程方式使用 Intellij IDEA 代码格式化程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28294413/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com