写了一个插件来处理一些自定义格式的东西在yaml文件,我已经写了一个巨大的项目。这是一个聊天机器人,可以在大量的方式作出React。有很多俚语和非标准的话在yaml。
我不想禁用拼写检查,因为我想修复合法的拼写错误。但“拼写错误”俚语下的注解与我的插件中的注解冲突,并导致问题。
一个yaml文件有349个“错别字”。10%左右是合法的。其余的是俚语和自定义单词。
我需要做以下两件事之一。要么将这些单词添加到词典中(我已经找到了实现这一点的方法- SpellCheckManager.getInstance(project).acceptWordAsCorrect()),要么获取这些单词的列表,并根据它们创建一个自定义词典。这两种方法都需要我获取文档/编辑器/项目中所有拼写错误的列表。
这就是我找不到的部分。到处都找过了。(当前注解列表?当前问题列表?)谷歌搜索了我的手指。有人能给我指出正确的方向吗?
1条答案
按热度按时间k0pti3hp1#
这不是理想的解决方案,但它为我的手段工作,我离开的情况下,这是谷歌的答案。
在DaemonCodeAnalyzerImpl中,有一个方法:
这将返回文档中所有高亮显示的列表。该方法使用@TestOnly进行注解,并且文档声明它只应在测试代码中使用,因为它中断了访问测试代码的正常方式。但是,它仍然可以在非测试代码中工作。
由于我唯一需要的是拼写错误的字符串,所以我提取了列表,然后循环遍历列表中的HighlightInfo,并提取了.getText()。
没有搞砸任何事情的危险。
然后把那些弦全部推成:
Viola!所有当前突出显示的错别字现在都已添加到词典中。