在我们的项目中,我们将.idea/codeStyles/Project.xml提交给源代码管理,目的是在项目的所有参与者之间强制执行通用样式,而不影响其他项目的样式。
但是,Android Studio似乎正在对此文件进行不必要的更改。
从git中下载最新代码,然后打开Android Studio并选中git status
,会产生:
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git checkout -- <file>..." to discard changes in working directory)
modified: my-project/.idea/codeStyles/Project.xml
no changes added to commit (use "git add" and/or "git commit -a")
它所做的改变看起来是这样的:
如您所见,它正在删除一些XML格式设置。
我运行的是Android Studio 3.5,但我不能保证其他人也是,我们希望保持项目与IDE版本无关。
是否有办法阻止Android Studio更改这些设置?是否有更推荐的方法来实现统一的代码样式?
1条答案
按热度按时间l5tcr1uw1#
要防止Android Studio覆盖
.idea/codeStyles/Project.xml
文件,您可以执行以下操作:macOS
1.转到
File > Settings
(或macOS上的Preferences
)1.在搜索栏中,键入
Editor
〉Code Style
1.选择**
Scheme
下拉菜单,然后选择Project
**1.单击
Scheme
下拉菜单旁边的齿轮图标,然后选择Save As
1.给予新方案命名,并确保选中
Save as project scheme
1.单击
OK
这将创建一个新的项目特定的代码样式方案,该方案独立于默认方案,并且对默认方案所做的任何更改都不会影响您的自定义方案。
或者,您也可以使用.gitignore文件忽略对.idea文件夹或特定Project.xml文件所做的更改。
Windows
1.转到
File
〉Settings
1.在搜索栏中,键入
Editor
〉Code Style
1.选择
Scheme
下拉菜单,然后选择Project
1.单击
Scheme
下拉菜单旁边的齿轮图标,然后选择Save As
1.给予新方案命名,并确保选中
Save as project scheme
1.单击
OK
您还可以尝试将您的Project.xml文件版本置于版本控制之下(例如git),并配置git以保留您的文件版本并忽略Android Studio所做的任何更改。
您还可以尝试使用命令行启动模拟器,这样您就可以使用-debug-proxy选项等待对话框出现。
Linux
您可以按照上述步骤操作:
1.转到
File
〉Settings
1.在搜索栏中,键入
Editor
〉Code Style
1.选择
Scheme
下拉菜单,然后选择Project
1.单击
Scheme
下拉菜单旁边的齿轮图标,然后选择Save As
1.给予新方案命名,并确保选中
Save as project scheme
1.单击
OK
另一个解决方案是创建一个指向Project.xml文件的符号链接,这样它就不会被覆盖。
1.打开终端并导航到你的项目目录
ln -s .idea/codeStyles/Project.xml
.idea/codeStyles/Project.xml_backup
此命令创建指向Project.xml
文件的符号链接,并将其重命名为Project.xml_backup
,以便Android Studio不会覆盖该文件。