拼写检查错误源代码树

时间:2017-01-05 13:26:32

标签: git atlassian-sourcetree

每当我打开sourcetree时,我都会看到这个烦人的弹出窗口:

enter image description here

  

“SourceTree检测到以下无效的Dictionary文件引用。   众所周知,这会导致性能问题。

     

您要删除这些无效的词典吗?“

如果我点击'是' - > close sourcetree - >重新打开它 - >弹出窗口再次出现。

有谁知道如何解决这个问题?

我正在使用版本1.9.10.0

4 个答案:

答案 0 :(得分:14)

刚刚得到a working solution from the Atlassian forum

我做了以下事情:

  1. 删除用户临时位置中的所有* .dic文件:<h3 id="TAGS"></h3>
  2. 打开SourceTree,您将收到相同的通知,但这次程序确实会显示错误的条目。
  3. 同意删除错误的条目后,通知将不会再次显示。

答案 1 :(得分:10)

这是SourceTree中的一个错误。这似乎没有解决方法(请参阅下面引用的部分了解原因)。

Atlassian自己的JIRA上列出了两个错误:

SRCTREEWIN-6664来自Atlassian的一名工作人员this comment

  

SourceTree报告说,Windows拼写检查程序的注册表中列出了无效的文件条目。如果未删除它们,则可能会导致SourceTree中出现性能问题。该对话框应列出要删除的文件。但是,似乎可以在注册表中获取空条目,这是我们在测试期间没有看到的。我们正在努力改进通知的演示。

SRCTREEWIN-6674也是关于这个错误的,并指出导致问题的是SourceTree。

  

看来SourceTree本身正在创建空条目。   如果我使用regedit从_ Global _下删除额外的空行(2个换行符之一)   HKEY_CURRENT_USER\SOFTWARE\Microsoft\Spelling\Dictionaries   然后SourceTree将在下次没有错误消息的情况下启动。但是当它启动时,将在该注册表项中再次创建额外的空行!

source

  

当SourceTree启动时,它会在xljwxlxe.dic下创建一个新的字典文件(例如%localappdata%\Temp),并将字典添加到前面提到的注册表项(以及非法的空行)。

     

...剪辑...

     

当SourceTree关闭时,它会再次删除字典,但会在注册表中留下空行。

source

基本上,唯一的解决方法是从SourceTree正在检查的注册表项中删除空行。但是在你这样做之后,打开SourceTree会再次添加空白行,并在下次打开SourceTree时导致同样的问题。

更新正如Osiris M.在their answer中指出的那样,Atlassian Answers可能有一个解决方案,但它似乎适用于某些人,而不适用于其他人。它对我不起作用。

答案 2 :(得分:0)

我有同样的错误。我有一个法式窗10,并使用SourceTree下的英语拼写检查。 我只是通过安装Windows 10的英语语言包修复错误。 希望它有所帮助

答案 3 :(得分:0)

在Atlassian修复这两个错误之前,我的解决方案是安排一个每小时任务运行以下Windows批处理文件。

要纠正两个换行符而不是一个换行符的问题,只需查询注册表并重新添加相同的数据即可解决问题。

如果在Sourcetree中仍然遇到性能下降的问题,请更频繁地执行此任务,例如每半小时一次。

:: fix-dictionaries.bat
@echo off

set regPath="HKEY_CURRENT_USER\Software\Microsoft\Spelling\Dictionaries"
set regName="_Global_"

for /f "tokens=2*" %%a in ('REG QUERY %regPath% /v %regName%') do set "regData=%%~b"

REG ADD %regPath% /t REG_MULTI_SZ /v %regName% /d "%regData%" /f