当前位置: 首页 > 知识库问答 >
问题:

我应该在我的dotfiles中保存哪些IntelliJ配置文件?

郎魁
2023-03-14

我想将我的IntelliJ配置文件保留在我的dotfiles repo中,但我的~/.intellijideA2016.1文件夹重量>1.3g:(

~/.intellijidea2016.1/config/仍然重量>215米...

~/.intellijidea2016.1/config/plugins/包含大量二进制文件...不是dotfiles的最佳候选项:(

共有1个答案

满俊楠
2023-03-14

可悲的是,这并不简单。用户配置文件夹没有很好的文档记录,并且历史上包含了一堆默认垃圾,这些垃圾正在慢慢地被清除(请参见https://youtrack.jetbrains.com/issue/idea-128660和https://youtrack.jetbrains.com/issue/idea-163616)。设置文件的文档化也很差;我的改进请求被拒绝了https://youtrack.jetbrains.com/issue/idea-154157)。

我版本控制我的设置。如果您请求访问,您可以在https://gitlab.com/jcrben-staples/dotfiles-group/dotfiles/tree/master/config/intellij-idea-latest/my_config_docs.md上看到它,并注意到https://gitlab.com/jcrben-staples/dotfiles-group/dotfiles/tree/master/config/intellij-idea-latest)。

默认情况下,我将.gitignore设置为忽略所有内容,然后将所需的文件设置为白名单。使用IntelliJ,我不知道从哪里开始,所以我将整个文件夹加入白名单,然后将一堆文件加入黑名单。

我的黑名单没有完全回答你的问题,包括什么文件,但它确实给你一个想法,什么要排除。我会尝试更新这个,如果我想要在某个时候包括哪些,但它是一个杂乱的插件文件和诸如此类的。

现在的黑名单如下所示:

    # IntelliJ IDEA stuff
    .idea
    !config/intellij-idea-latest/**
    !projects/bi-idea/workspace.xml

    # statistics files
    config/intellij-idea-latest/options/statistics*
    config/intellij-idea-latest/options/feature.usage.statistics.xml
    config/intellij-idea-latest/options/usage.statistics.xml
    config/intellij-idea-latest/options/statistics.application.usages.xml

    # user files ??
    config/intellij-idea-latest/user*

    # other
    config/intellij-idea-latest/options/atlassian-ide-plugin.app.xml
    config/intellij-idea-latest/options/cachedDictionary.xml
    config/intellij-idea-latest/options/customization.xml
    # has my autobracket disable
    config/intellij-idea-latest/options/CodeGlance.xml
    # config/intellij-idea/options/editor.codeinsight.xml
    config/intellij-idea-latest/options/databaseDrivers.xml
    config/intellij-idea-latest/options/debugger.xml
    config/intellij-idea-latest/options/dimensions.xml
    config/intellij-idea-latest/options/extensionsRootType.xml
    config/intellij-idea-latest/options/filetypes.xml
    config/intellij-idea-latest/options/find.xml
    config/intellij-idea-latest/options/find.recents.xml
    config/intellij-idea-latest/options/jdk.table.xml
    config/intellij-idea-latest/options/gemmanager.xml
    config/intellij-idea-latest/options/github_settings.xml
    config/intellij-idea-latest/options/gradle.run.settings.xml
    config/intellij-idea-latest/options/extensionsRootType.xml
    config/intellij-idea-latest/options/hg.xml
    config/intellij-idea-latest/options/ignore.xml
    config/intellij-idea-latest/options/markdown.xml
    config/intellij-idea-latest/options/multimarkdown.local.xml
    config/intellij-idea-latest/options/multimarkdown.shared.xml
    config/intellij-idea-latest/options/options.xml
    config/intellij-idea-latest/options/other.xml
    config/intellij-idea-latest/options/packages.xml
    config/intellij-idea-latest/options/pomodoro.state.xml
    config/intellij-idea-latest/options/project.default.xml
    config/intellij-idea-latest/options/proxy.settings.pwd
    config/intellij-idea-latest/options/recentProjects.xml
    config/intellij-idea-latest/options/recentProjectDirectories.xml
    config/intellij-idea-latest/options/remote-servers.xml
    config/intellij-idea-latest/options/runner.layout.xml
    config/intellij-idea-latest/options/scratches.xml
    config/intellij-idea-latest/options/stubIndex.xml
    config/intellij-idea-latest/options/updates.xml
    config/intellij-idea-latest/options/usageView.xml
    config/intellij-idea-latest/options/vcs.xml
    config/intellij-idea-latest/options/window.manager.xml
    config/intellij-idea-latest/options/window.state.xml

    # turn off those auto-update messages...
    config/intellij-idea-latest/port
    config/intellij-idea-latest/plugins/*
    config/intellij-idea-latest/tasks/*
    config/intellij-idea-latest/extensions/
    config/intellij-idea-latest/jdbc-drivers/*

    # region START UNIGNORE IntelliJ
    !config/intellij-idea-latest/scratches/
    !config/intellij-idea-latest/consoles/
    config/intellij-idea-latest/consoles/.history/*

    # General settings
    # config/intellij-idea-latest/sonarlint/
    config/intellij-idea-latest/javascript/nodejs/**
    # config/intellij-idea-latest/options/editor.codeinsight.xml # has my autobracket disable
    # endregion END UNIGNORE Intellij

这就留下了相当多的文件没有被列入黑名单--加上我有时对.idea文件进行符号链接,并对这些设置进行版本控制,尽管workspace.xml有很多东西,而且它一直在变化(请参阅https://youtrack.jetbrains.com/issue/idea-163348)。

此外,请注意“共享”按钮,如下面的作用域所示,因为这些按钮似乎控制是否将设置共享到配置中。

最优雅的settings for settings配置来自VSCode--希望Jetbrains在某一时刻能够发现这一点并复制它们:

 类似资料:
  • 我正在制作一个程序来玩Connect 6,Connect 4的变体,你必须连续获得6的序列,并且无论下面有多少个棋子,棋子都可以放置在任何未占用的空间中。 我目前正在使用Minimax和Alpha Beta修剪。我想用换位表来加快速度。 然而,我显然不能在我的换位表中保留所有可能的板子,所以我如何决定保留哪些板子? 我的换位表目前是[1000000][4]数组,因此可以存储400万个电路板状态。

  • 我正在尝试编辑简单的Andorid应用程序build.gradle 我应该添加https://developer.android.com/studio/build/application-id 我应该把andorid{...}放在哪里?

  • 我正在尝试进入机器学习领域,并决定自己尝试一些东西。我写了一个小的井字游戏。到目前为止,计算机使用随机移动与自己对弈。 现在,我想通过编写一个代理来应用强化学习,该代理将根据它对董事会当前状态的知识进行探索或利用。 我不明白的部分是这样的:代理用什么来为当前状态训练自己?假设一个RNG机器人玩家这样做: [..][..][..] […][x][o] [..][..][..] 现在代理必须决定最好的

  • 由于请求的不同用法和注释,我一直很困惑

  • 我正在尝试为没有它们的包装提供类型: 我在带有打字稿 2.4.2 的 webpack 中使用 ts-loader,并且在 tsconfig.json 中设置了以下类型根: 我试图模仿: < code>index.d.ts中包含以下内容: 但是错误仍然存在。我做错了什么?我应该把那些自定义的. d.ts文件放在哪里? 和任何其他类型根之间有什么区别?为什么TypeScript会区别对待它们?

  • 问题内容: 我有一个简单的java maven项目。我执行时的一个类需要从类路径中加载xml配置文件。我不想在生成jar时打包此类xml文件,但我想在conf子文件夹下的zip程序集中包含默认的xml文件,并且我也希望此默认xml在单元测试中可用以对其进行测试。 如我所见,此默认xml有2个可能的位置: 两种解决方案都需要特殊的pom动作: 在解决方案1中,我在构建过程中将自动副本复制到目标文件夹