Visual Studio 2017:禁用CodeSnippets的Intellisense

时间:2017-09-05 11:06:44

标签: visual-studio visual-studio-2017 intellisense code-snippets

我使用的是Visual Studio 2017 Enterprise,版本15.3.3

我看起来像IntelliSense有一些代码完成的新功能。在此功能的基础上,在写入类型时会自动建议字段名称。

SpacePosition s .. //以s开头,Intellisense建议"空间","位置"和" spacePosition"

snippedFeature on tab

我一般喜欢这个功能,但不喜欢代码片段。使用剪切的代码我遇到的问题是,在按Tab键(用于导航到下一个文字)之后,文字的名称会被IntelliSense自动替换。

在我的例子中,我想命名属性"其他"然后跳转片段中的下一个文字。但由于IntelliSense,属性名称被替换为" spacePosition"。

有没有办法在代码段内禁用IntelliSense功能?

我在Visual Studio Code中找到了同一问题的解决方案: stackoverflow article但不适用于Visual Studio

4 个答案:

答案 0 :(得分:6)

在“工具/选项/文本编辑器/ C#/ IntelliSense”中禁用名称建议。这就是造成这种废话的原因。似乎MS后来意识到,他们通过添加可以大大改变旧行为而又不给他们禁用方法的功能来增加了编码器。现在有一个复选框。 Tools/Options/TextEditor/C#/IntelliSense 由于这个笑声,我差点把这个工作室卸载了。不确定,也许这是一个很好的功能,但是我也习惯于使用Tab键显示代码片段,如果没有它,我会更好。

答案 1 :(得分:1)

How to: Manage Code Snippets

访问Code Snippets Manager

1。)在工具菜单上,点击代码段管理器。快捷键 Ctrl + K,Ctrl + B

如何:更改代码段行为

更改代码段行为。

1。)转到工具> 选项> 文字编辑器> 智能感知> 代码段行为

2。)查看图片。 enter image description here

答案 2 :(得分:1)

现在没有这样的选项可以在代码段内禁用此智能感知功能,但您可以尝试点击 Esc '键入'其他'后键,然后点击'标签'跳到下一个字面的关键,请检查以下内容: enter image description here

答案 3 :(得分:0)

如果它是对当前上下文有效的类(例如,在当前类命名空间中不存在的命名空间中,或者在文件的using语句中不存在),则这实际上在Visual Studio 2019中对于类有效。

这是我的示例代码段

代码段定义 enter image description here

代码段使用

enter image description here

这是一个示例,其中我使用两个不同的类作为第二个片段,一个是有效的类名,并且可以使用tab自动完成,而一个则不起作用,因为该类需要使用语句添加其他名称空间该文件中当前缺少的内容:

enter image description here

所以我看到两个选择。

  1. 使用糟糕取消任何自动完成的逻辑。
  2. 确保您具有正确的using语句。您甚至可以使用import声明将using语句添加到代码段中: enter image description here