beansoft / iscratch-support

Supports for the Notes IDEA plugin
Other
3 stars 0 forks source link

代码变动后 笔记行号随之变动的处理 #46

Closed darkSheep404 closed 1 year ago

darkSheep404 commented 1 year ago

hi @beansoft 方便的话 想请教一下现在插件怎么处理代码变动后 让笔记行号随之变动的情况 比如通过git 更新了文件之类 或者原笔记在20行 然后15行又多了五行代码

beansoft commented 1 year ago

你好,我是参考IDEA社区版的书签的思路做的,intellij-community-idea-222.3345.118-src/platform/lang-impl/src/com/intellij/ide/bookmark/BookmarksManagerImpl.kt,简单介绍下要点:每个书签都会创建一个高亮范围(颜色是透明的),然后这个范围会随着代码的编辑而移动,然后拿到移动后的新行号更新即可。由于其中细节逻辑比较复杂,直接运行代码调试即可。