这个说法完全正确吗?
是否有解决方法(例如某些注册表“开关”)?
这个说法完全正确吗?
是否有解决方法(例如某些注册表“开关”)?
如果您希望看到这个功能被添加,可以在Connect上投票请求。以下是团队关于为什么放弃此功能的反馈:
让我分享一下产品团队有关IntelliSense版本支持的信息。这是IntelliSense项目从一开始就设计的一个部分,并且这是商业决策的一部分。实现IntelliSense需要在客户端使用托管代码基础上对引擎解析器进行完全重建。支持多个服务器版本意味着需要并行设计和实现多个版本的解析器和相关基础设施。这将使开发、测试和支持所需的时间和成本倍增。与此同时,核心模块是一个重要的产品基础,不仅能够支持IntelliSense功能,还能支持其他产品,包括升级顾问来分析脚本;长期来看,它可能支持任何需要理解Transact-SQL语言的句法和语义的功能。
在CTP5和CTP6中,IntelliSense存在一个已知的问题,即它没有正确检查服务器版本,因此CTP用户可以连接任何版本的SQL Server并使用IntelliSense。虽然有些用户没有注意到这个问题,但是IntelliSense并没有按照预期的方式正确工作。结果是IntelliSense很有可能会引导用户编写不正确的Transact-SQL脚本,或者在那些版本中完全有效的情况下误报错误。
考虑到IntelliSense的首要目标是提高编写复杂查询、存储过程(或简单的Transact-SQL脚本)的生产力,这个问题被认为是降低生产力的一个因素,这对于一项新功能来说是巨大的负面影响。
在RC0中,修复了这个已知问题,IntelliSense检查服务器版本并提供其功能。
支持的版本是 SQL Server 2008。
作为第一版,IntelliSense 在 Transact-SQL 语言的子集上被启用。原因是实现管理代码中的词法分析器、解析器、绑定器和脚本文档对象模型来支持整个语言范围需要大量工作。产品团队正在前进,重点是扩大语言支持范围。
我希望这些信息至少提供了有关为什么只选择了 SQL Server 2008 的目标版本的背景信息。
使用 RTM 构建的任何人都应该考虑使用 此处 提供的 CU1 (Cumulative Update 1) 构建版本,因为已经解决了相当多的 IntelliSense Bug。
这里要添加另一个免费工具:ApexSQL Complete。我已经使用它几个月了,发现它比SSMS IntelliSense更好,因为它提供了更有用的工具提示。
一般来说,这里提到的任何工具都不会错,尤其是如果你准备付费购买高级工具。
Red-Gate的SQLPrompt做得非常好,适用于所有版本(2000、2005和2008),并且可以在VS内部甚至一些文本编辑器中运行。
确实,SSMS中的智能感知仅适用于SQL Server 2008。
最近我们发布了一个自动完成工具——dbForge SQL Complete,它为SQL Server 2008、2005和2000提供SQL自动完成和格式化功能。
顺便提一下,我们最近发布了一个新版本的SQL Complete,提供了一堆新功能。所有新功能都可以在共享软件标准版中使用(30天免费试用,49.95美元)。
您仍然可以通过Express Edition获得与v. 1.0类似的所有基本功能。
您可以在DbOctopus中使用智能感知 - 它也适用于SQL Server 2005和2000。目前它是免费的,但只到2009年9月1日。
您可以在这里找到它: