IntelliJ IDEA 2017跨项目自动同步设置的实现机制咨询
IntelliJ IDEA 自动同步全局设置的原理
嘿,这个问题我之前刚琢磨过,其实IntelliJ IDEA的设置自动同步没那么神秘,核心是它的全局配置与项目配置分离机制,具体来说是这么回事:
两类设置的划分
IntelliJ把所有设置分成了「全局设置」和「项目级设置」:- 你配置的Git、代理、通用代码风格、IDE外观这些,都属于全局设置——它们是针对IDE本身的,不是绑定某个项目;
- 而单个项目特有的配置,比如项目专属SDK、模块依赖、局部代码风格变体,才会存在项目根目录的
.idea文件夹里,属于项目级设置。
全局设置的存储位置
全局设置被存在IDE的专属配置目录里,不同系统路径不一样:- Windows:
C:\Users\[你的用户名]\.IntelliJIdea2017.x - Mac:
~/Library/Application Support/JetBrains/IntelliJIdea2017.x - Linux:
~/.IntelliJIdea2017.x
这个目录下的config子文件夹就是全局设置的大本营,比如Git配置存在options/git.xml,代理设置存在options/proxy.xml,所有新建项目都会默认读取这里的配置。
- Windows:
新项目的加载逻辑
当你从零创建新项目时,IDE不会清空所有设置从头来,而是先加载全局配置作为基础,再添加项目默认的初始设置(比如默认的项目结构)。只有当你修改了项目专属的设置时,才会把这些修改写入项目的.idea文件夹,不会影响全局配置。
如果之后你想让不同项目用不同的全局配置,还可以用IDE自带的「Settings Repository」功能,或者安装官方的「Sync Settings」插件来实现多配置切换,但默认情况下就是全局共享这些通用设置的~
内容的提问来源于stack exchange,提问作者overflow
相关产品推荐
相关产品推荐

