天天看點

.idea檔案夾一探究竟

前言

有一個契機促使我去研究這個檔案夾,我有在ide裡設定了gradle的usr home路徑,這與系統預設的使用者主目錄不同。我使用的Android Studio版本為2020.3.1 北極狐版。我建立了一個項目,我發現使用的gradle-7.0.2-bin.zip,我使用gradlew -v檢視Gradle的版本号确實是7.0.2,但是在.idea/gradle.xml内是這樣的

<GradleProjectSettings>
        <option name="testRunner" value="GRADLE" />
        <option name="distributionType" value="DEFAULT_WRAPPED" />
        <option name="externalProjectPath" value="$PROJECT_DIR$" />
        <option name="gradleHome" value="$USER_HOME$/.gradle/wrapper/dists/gradle-6.5-all/2oz4ud9k3tuxjg84bbf55q0tn/gradle-6.5" />
        <option name="modules">
          <set>
            <option value="$PROJECT_DIR$" />
            <option value="$PROJECT_DIR$/app" />
          </set>
        </option>
        <option name="resolveModulePerSourceSet" value="false" />
      </GradleProjectSettings>
           

這使我很疑惑,為什麼是gradle-6.5?清緩存之後還是這樣。這讓我對.idea檔案以及IDE運作産生了興趣,是以決定研究下。

IDE建立項目預設添加忽略的檔案

/.idea/caches
/.idea/libraries
/.idea/modules.xml
/.idea/workspace.xml
/.idea/navEditor.xml
/.idea/assetWizardSettings.xml
           
  • caches

    緩存
  • libraries

    此目錄包含訓示庫的 jar 檔案存儲位置的檔案。由于下載下傳路徑可能是特定于使用者的,應該被忽略。
    .idea檔案夾一探究竟
  • modules.xml

    此檔案包含子產品.iml檔案的路徑,應該被忽略。
  • workspace.xml

    該檔案包含有關您在 Android Studio 上的工作區的資訊,例如光标在您打開的檔案上的最後一個位置,它是使用者特定的資訊,應該被忽略。
  • navEditor.xml

    此檔案存儲元素在導航編輯器中的位置。如果此資訊與您的項目相關,則應保留此檔案。
  • assetWizardSettings.xml

    該檔案存儲了 Android Studio 向導添加的最後一個圖示。應該被忽略。比如你往res導入svg生成vector的操作。
    .idea檔案夾一探究竟

建議不要添加忽略的項

  • codeStyles

    代碼樣式檔案夾。
  • dictionaries

    字典檔案夾。
  • inspectionProfiles

    此檔案夾包含項目特定Lint規則。
  • misc.xml

    檔案包含一些項目資訊,比如java版本和項目類型
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
  <component name="ProjectRootManager" version="2" languageLevel="JDK_11" default="true" project-jdk-name="11" project-jdk-type="JavaSDK">
    <output url="file://$PROJECT_DIR$/build/classes" />
  </component>
  <component name="ProjectType">
    <option name="id" value="Android" />
  </component>
</project>
           
  • vcs.xml

    此檔案包含有關您在項目中使用的 VCS 的資訊,以允許您使用 GUI 執行版本控制操作。

建議添加忽略的項

  • runConfigurations.xml

    該檔案存儲了您可以通過單擊“編輯配置”添加的配置。
    .idea檔案夾一探究竟
  • gradle.xml

    包含gradle 版本的本地路徑,還包含子產品的路徑。
  • shelf

    看檔案夾名字就懂了,裡面常常存一些git操作記錄。
  • deploymentTargetDropDown.xml

    調試裝置的一些記錄。

後話

應該還有很多檔案沒提到,暫時就這麼多吧,以後碰到再補。

可以在此項目檢視IDE源碼學習gradle運作流程https://github.com/JetBrains/android,我現在使用的IDE版本是203.7717.56,也就是這個tag:idea/203.7717.56