禁止SQL Server Management Studio自动完成


21

有没有办法在键入查询时临时禁止SQL Server Management Studio的自动完成?我不想完全禁用自动完成功能,而只是说在输入特定单词时按住某些键,以免妨碍自动完成功能。

例如说我有以下查询

SELECT Foo, Foo2 FROM SomeTable

作为I型Foo,然后打空格键SQL Server Management Studio中的自动完成踢并完成FooFooBar


6
您会发现SQL Server 2012 Management Studio中的IntelliSense积极性要低得多。我在2008年无法忍受-如果有一列名为ID的列被更改为IDENT_CURRENT。uke
亚伦·伯特兰

1
@AaronBertrand-空格或逗号是否仍会自动完成?我发现这很烦人,因为我习惯于在其他环境中选择该选项卡,而且95%的时间它会自动完成,然后删除结尾。
马丁·史密斯

@MartinSmith用于空格和逗号,它们应按原样解释,除非您使用向下箭头突出显示明显的选择(这是一个按键),然后按空格或逗号。Tab选择SSMS认为您想要的选项。而且,“最佳选择”算法比2008/2008 R2好1000倍。对我来说最好的部分是局部比赛。类型sys.depend,并且自动完成列表将过滤到包含的 所有DMV /目录视图depend
亚伦·伯特兰

1
@MartinSmith这对OP没有帮助,但是我认为我在SSMS 2014中找到了解决方案...在下面发布。
Doug_Ivison '18

1
@Doug_Ivison我已经很久以前发布了这个问题,我现在正在使用SSMS2016。我认为现在在这方面更好。–
Jack

Answers:


26

在敲ESC空格之前先键入单词,然后单击以关闭窗口,但是如果ESC在'fo'之后单击,然后键入'o',它将再次弹出。

如果您不经常使用它,另一种选择是禁用它(Tools->Options->Text Editor->Transact-SQL->General->Auto list members),并在想要使用它时使用CTRL+ J手动将其调出。Red Gate还具有一个称为SQL Prompt的产品,该产品可能会提供更多控制权。

此外,如果要临时禁用/启用它,则在“查询”菜单下和“查询”工具栏上还有一个“已启用智能感知”选项。


1
(这也适用于其他MS工具,例如VS。)
pst 2012年

谢谢,但是对于包含空格的名称,它仍然非常烦人([Foo Bar]例如),因为正如您提到的那样,它再次插入,因此您最终需要继续点击ESC。在接受确认是否有人知道其他解决方案之前,我将让问题再公开一点。

我同意,除非您已经指定了from表,否则我不认为应该在select子句中启用自动完成功能。

1
Ctrl+space(更常见的热键)也可以调出自动完成功能。
Marc

4

如果您在错误的自动选择出现后撤消(ctrl-Z),则原始条目将被恢复。


2

这对SSMS 2008并没有帮助,但是(如果其他人像我一样找到了此页面),我想我在SSMS 2014中找到了一个解决方案:

在底部的“编辑”下拉菜单下,选择“智能感知”,然后切换“完成单词”。

键入空格时,这似乎关闭了隐式单词的补全功能,但我仍在获得为列名提供补全功能的下拉菜单,可以使用箭头选择它们,然后使用return / tab / space进行选择。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.