CLion 2023.1.1非活跃变更列表异常行为问题咨询
CLion 2023.1.1变更列表归属异常问题(IntelliJ IDEA存在相同问题)
环境信息
- 系统:Fedora 38(GNOME)
- IDE版本:CLion 2023.1.1(内部版本号
CL-231.8109.222)
问题背景
根据JetBrains官方文档关于活跃变更列表的说明:“所有新变更会自动归入该变更列表”
我在IntelliJ IDEA中熟悉此功能,认为它是Git分支的有益补充。作为CLion新用户,发现即使在设置(版本控制/变更列表)中启用允许将单个文件内的变更放入不同变更列表选项,仍存在异常行为:有时新变更会被归入非活跃变更列表而非当前活跃列表,且该情况多发生在修改行与非活跃变更列表中的修改行位置相近时。
复现步骤
- 创建两个测试变更列表A和B,将A设为活跃变更列表;
- 修改某文件,变更正常归入A;
- 将B设为活跃列表,在文件中与之前修改位置不相邻的区域编辑,变更正确归入B;
- 继续编辑该文件中紧邻A的修改行的位置,此时B仍为活跃列表,但变更却意外归入A。
验证方式
双击变更列表A或B中的文件查看归属:差异视图中会高亮其他变更列表的修改,但仅当前差异的变更会在右侧着色。
期望行为
该行为应符合文档说明,即所有新变更自动归入活跃变更列表。我理解的“新变更”指在某变更列表处于活跃状态时做出的修改,若将其理解为“不同代码位置的变更”则与我在IntelliJ IDEA中体验的变更列表概念相悖。
【更新】
已找到问题的根本原因(经测试IntelliJ IDEA也存在相同问题):
在变更列表设置中,允许将单个文件内的变更放入不同变更列表选项默认禁用,禁用时会显示两个额外选项:
- “编辑非活跃变更列表中的文件时显示对话框”
- “高亮存在变更列表冲突的文件”
启用允许将单个文件内的变更放入不同变更列表选项后,上述两个选项会被禁用,且无替代功能,导致编辑与其他变更列表修改行相邻的代码时无警告或提示,变更会被静默归入非活跃变更列表,这与文档描述不符。
内容的提问来源于stack exchange,提问作者acrion
相关产品推荐
相关产品推荐

