2016-04-30 29 views
1

我想关闭Xamarin Studio中的所有代码完成功能,以便除了我输入的字符外,屏幕上什么也不显示。Xamarin Studio:禁用代码完成?

我还希望(如果它是一个单独的问题)禁用出现的工具提示,如果您将鼠标光标留在单词上。

经过大量的搜索后,我找不到任何似乎与这些事情相对应的设置。我收集MonoDevelop有一个简单的enable auto-completion复选框,但如果在Xamarin中有类似的东西,它隐藏得很好(或者我特别密集)。


编辑补充:

在进一步的研究,似乎MonoDevelop中有一个属性EnableCodeCompletion在其XML配置文件,但加入这个属性Xamarin的配置,与value="false",似乎没有任何效果。

+0

什么版本的Xamarin Studio您使用的是? – Matt

+0

它的版本5.10.3(最新版本) – bobtato

回答

0

更新:看来,禁用代码完成是 “破” 中的代码:

  • 主/ src目录/加载项/ CSharpBinding/MonoDevelop.CSharp.Completion/CSharpCompletionTextEditorExtension.cs

public override Task<ICompletionDataList> HandleCodeCompletionAsync (CodeCompletionContext completionContext, char completionChar, CancellationToken token = default(CancellationToken)) 
       { 
//      if (!EnableCodeCompletion) 
//        return null; 
         if (!IdeApp.Preferences.EnableAutoCodeCompletion && char.IsLetter (completionChar)) 
           return null; 

         //  var timer = Counters.ResolveTime.BeginTiming(); 
         try { 

所以基本代码竞争检查被跳过(注释掉)a第二次检查会忽略pref。设置是否键入“字母”。如果你只比没有代码完成窗口中键入数字出现;-)


这是EnableAutoCodeCompletion

Preferences \ TextEditor \ Code Completion,取消勾选“显示完成列表有字符输入后” .. ..

enter image description here

~/Library/Preferences/XamarinStudio-6.0/MonoDevelopProperties.xml 

<Property key="EnableAutoCodeCompletion" value="False" /> 

+0

我确实已关闭EnableAutoCodeCompletion,但是所有这些功能都将它限制为当您点击空间等时显示弹出窗口,而不是在每个单个字符上执行该操作... – bobtato

+0

' EnableAutoCodeCompletion为false“将阻止它仅在第一个键入的成员上弹出,即在键入句点之后,代码完成已启用。您希望能够将'EnableCodeCompletion'设置为false,但正如我所显示的那样,这是从当前代码中注释掉的......在bugzilla.xamarin.com上填写错误报告和/或在github上执行pull-request回购。 – SushiHangover

+0

我可以问一下你在看什么github回购(例如上面引用的代码)?如果可以构建我自己的Xamarin Studio分支,我愿意尝试一下。 – bobtato