Mat*_*ttX 12 javascript refactoring devexpress
一年多以前,我记得看过一位DevExpress福音传教士在Visual Studio shell中预览或至少推广丰富的Javascript重构(超出有限的智能感知),我记得部分CodeRush/DevExpress产品线.我很兴奋.
今天检查(lmgtfy)我只能找到非常非常有限的参考,只有一个关于产品描述中的beta的小讽刺线,没有视频,没有博客帖子,没有社区动态.它掉了吗?雾件?执行不力,他们甚至没有推广它?
Javascript可能是有史以来最流行的编程语言,并且在过去10年中几乎每台机器上都有一个VM,为什么编辑器支持这么差?(与Java和C#相比)?你看到ScottGu吹嘘我们现在有jQuery intellisense,但在IDE中它与C#支持的丰富性相比,这是一个笑话.
有人曾经说过,因为有很多写Javascript的风格,富有IDE(超出intellisense),重构支持很难,但如果有几个引擎可以解释/编译JS同样的结果肯定应该很难分析它来支持像重命名变量这样的东西,提取方法,移动到另一个命名空间(或它的JS迷你)等.我错了吗?
Mar*_*ler 21
CodeRush支持52个JavaScript重构:
八个消费优先申报和快速修复功能:
此外,我们正在努力改进对10.2版本的重构支持.我们最近还改进了Quick Nav,使得导航到JavaScript函数就像在C#或VB中导航一样简单.这一改进将在10.2中发布,但现在可供日常构建的CodeRush客户使用.
完全披露 - 我在DevExpress领导CodeRush团队.
像 Javascript Intellisense 这样的东西的问题在于,它确实需要具有超自然的力量才能了解一段代码的含义。就像这里,在这个函数片段中:
return function(a) {
var x = a.
Run Code Online (Sandbox Code Playgroud)
现在我刚刚输入了“。” 在“a”之后,我点击“tab”以自动完成。IDE 能做什么?
在某些有限的情况下,你可以做出一些不错的猜测;例如,如果您告诉编辑器您正在使用 jQuery,编辑器可以做出一些假设,并且它会看到
$('something').
Run Code Online (Sandbox Code Playgroud)
嗯,这是一个不错的猜测,使用 jQuery API 完成是正确的事情。然而,这永远不会比猜测好多少。即使有了那个 jQuery 示例,编辑器仍然会遇到一些难题:
$('something').each(function(_, element) {
if (element.
Run Code Online (Sandbox Code Playgroud)
在“.”之后,自动完成功能应该向我显示什么?好吧,一个超级聪明的编辑器可能愿意冒险假设“元素”是一个 DOM 节点,但它必须是超自然的才能知道是什么样的DOM 节点。
现在,人们可以做的另一件事是启用某种全面的提示系统,以便程序员可以明确地告诉编辑器什么是什么。对我来说,这会让 Javascript 失去一点灵魂,但我想有些人可能会发现它很有用。
| 归档时间: |
|
| 查看次数: |
2887 次 |
| 最近记录: |