我可以一次在同一个项目中的两种不同的代码格式配置之间切换吗?

Posted

技术标签:

【中文标题】我可以一次在同一个项目中的两种不同的代码格式配置之间切换吗?【英文标题】:Can I switch between two different code formatting configurations within the same project at once? 【发布时间】:2019-10-31 13:12:51 【问题描述】:

我正在开发一个在 IntelliJ 中有一些严格的代码格式要求的 java 项目。我发现首选格式很难阅读,以至于它损害了我的效率并且无法轻松查看我自己的代码。

我正在寻找是否有一种方法可以存储两种不同的代码格式配置或配置文件,我可以将它们应用于我的代码。例如,我想在实现和调试期间将我的代码格式化回“我的风格”,然后在提交之前将其格式化为“企业风格”。我需要在多个提交中处理相同的代码,因此我需要随意从一种格式转换为另一种格式。

这可能吗?

企业风格,大量换行和空格:

private boolean scpLocalToRemote (String localIP, String remoteIP, String remoteUser,
                   String localFilePath, String remoteFilePath) 
        String scpCommand = "scp " + localFilePath + " " + remoteUser + "@[" + remoteIP + "]:"
                + remoteFilePath;
        log.info("SCP Command: '" + scpCommand + "'");

        try 
            MyProjectInterfaceUtils.runCommand(scpCommand);
         catch (IOException e) 
            log.severe(e.toString());
            return false;
        

        return true;

我的风格(这只是一种开发偏好,而不是寻求格式化最佳实践的建议):

private boolean scpLocalToRemote(String localIP, String remoteIP, String remoteUser, localFilePath, String remoteFilePath) 

        String scpCommand = "scp " + localFilePath + " " + remoteUser + "@[" + remoteIP + "]:" + remoteFilePath;
        log.info("SCP Command: '" + scpCommand + "'");

        try 
        
            MyProjectInterfaceUtils.runCommand(scpCommand);
         
        catch(IOException e) 
        
            log.severe(e.toString());
            return false;
        

        return true;

【问题讨论】:

项目中可以切换不同的Code Style Schemes。 【参考方案1】:

1) 在 Ctrl + Alt + S → 代码样式中创建不同的代码样式(您可能需要复制(复制)更改的代码样式方案并重命名)。

2) 按 Ctrl + `, 2,然后按与您的方案相对应的数字。

3) 应用 Ctrl + Alt + L 重新格式化当前文件。

【讨论】:

更新:我已经在我的新 IDEA 2019.1.3 上检查了它,不幸的是它不起作用。我在这里创建了一个错误 — youtrack.jetbrains.com/issue/IDEA-216526。

以上是关于我可以一次在同一个项目中的两种不同的代码格式配置之间切换吗?的主要内容,如果未能解决你的问题,请参考以下文章

springboot之jackson的两种配置方式

Celerybeat 每天两次在不同时间安排任务

我可以一次在程序中创建具有不同名称的表吗[关闭]

Spring Cloud Feign的两种使用姿势

Gradle 设置以处理具有相同代码库但依赖项不同的两种部署类型

一次在两个页面中单击一个按钮