返回首页
最新
定义栈是我刚刚发布的一个新的VSCode扩展。它是一个用于JavaScript和TypeScript的阅读工具,现已在扩展市场上提供。
您只需在任何源代码中的一个函数上点击,执行一个命令,就会在原始代码旁边打开一个新标签。该标签中有一个“块”,其中包含您点击的函数的副本。在这段代码中,每一个有定义的单词(符号)都会被高亮显示。如果您点击一个高亮的单词,会在原始代码上方打开一个新块,里面包含该单词的定义源代码。您可以在该块中点击并重复此操作,从而创建一个堆栈。所有的函数块都在一个标签中,您可以进行滚动查看。
还有其他选项,比如折叠一个块、删除它等。打开一个块、查看它并删除它很简单,这样您就可以返回到下面的块。然后在下方的块中点击另一个单词,会在上方打开另一个块。继续这个过程可以让您遍历引用和定义的“树”。这使您能够看到原始函数运行时执行的所有代码。这类似于使用调试器逐步执行代码。
每个块中的函数代码都是独立的,标明了原始源代码文件的名称,并且行号保持一致。但在使用堆栈时,您可以忽略每个块来自哪个文件。这为您提供了一种全新的方式来查看所有函数的作用,而无需记住函数所在的文件,从而减轻了认知负担。
据我所知,这个概念是原创的。如果我错了,请纠正我。我的想法源于多年前IBM的一款Java IDE。在那个系统中根本没有源文件,每个函数都来自数据库。那个IDE是个失败的产品 :-) 我认为我对这个概念的版本会更成功,因为它并不替代源文件,而只是为处理源文件提供了一个工具。堆栈是瞬时创建的,仅在有意义时偶尔使用。它有点像增强版的“转到定义”。
请给我反馈。由于它是全新的,我希望修复任何问题,包括用户体验方面的问题。希望您喜欢……
嘿,HN,
我创建了Trip Mate,因为我发现租车公司在需要搬迁车辆时,通常会提供非常便宜(有时甚至免费的)单程露营车旅行。这些优惠分散在多个租车平台上,导致很难高效找到它们。
最有趣的技术挑战是为多个租车平台创建强大的爬虫,每个平台都有其独特的数据结构和特点。我通过开发一个灵活的Python爬虫框架,并结合PocketBase实时存储和提供数据来解决这个问题。前端使用Next.js,提供流畅的用户体验,并通过Telegram或Discord即时通知。
实际上,我自己也通过我的爬虫找到了一个租车旅行,并且参加了!
你现在可以免费试用,无需注册。
我非常感谢你的反馈,并乐意深入探讨任何技术细节!