最近在学习JUCE框架,小白一个,正愁着资料少学不过来,看不懂这一大堆的项目文件是干什么的,突然看见见豆包Marscode新增了对工作区整个项目的分析的功能,于是我好奇地打开了VS Code里的Marscode插件
#Workspace功能
使用#Workspace就可以将上下文范围切换成整个工作区,这样就能让Marscode分析工程文件了。通过询问,Marscode准确地给出了这个项目的可实现功能,并且还把各部分的相关文件列了出来,整个项目一目了然,很nice
询问后,即使不添加#Workspace,直接询问核心文件有哪些,Marscode仍然能给出答案,并介绍了各文件的作用,这对找到研究学习项目的下手点很有帮助
当然,Marscode的聚焦部分始终在当前打开的页面,也就是能从工作区的整体俯瞰状态无缝切换到单个文件的详细分析。比如我直接询问了我能在哪里添加音频处理的方法,Marscode正确地指向了这个文件的核心部分(大部分有关DSP的代码都会写在这里),对于需要在大量文件中翻飞的项目,这个整体交互模式很顺畅
小问题
不过,在问的问题涉及跨文件,与该文件不相关,或没打开的情况下,Marscode就无法提供正确建议了。
比如我这里询问的是如何更改UI界面,虽然用于编辑UI的PluginEdit.cpp和我刚刚问的PluginProcessor.cpp在同一个文件夹下,Marscode也无法获得相关信息,通过Marscode的引用来看,它貌似无法在不使用#Workspace的情况下获得其他文件的信息(即使我之前用过#Workspace问过问题,但是由于问题不涉及更改UI界面,Marscode没引用PluginEdit.cpp,从而没找到这个文件)
在重新使用#Workspace能力后重问问题,Marscode又重新检索了工作区,找到了PluginEdit.cpp,建立起了各个文件的关联,然后它给出的答案明显有底气且具体得多了,更是详细到了具体UI修改方法
建议
所以这是我目前使用Marscode的#Workspace能力碰到的一个体验不太好的点,就是对于各个项目文件夹之间的访问,插件的处理不太灵活,并且现在能提供的上下文范围好像也只有整个工作区(#Workspace)。 虽然对于隐私方面,这样的访问权限方式有一点好处,但是我想,既然都使用Marscode了,这方面应该就能放开一些。 我的建议是在搜索框能直接有一个选项,保持Marscode的检索范围在工作区,当前文件夹,指定文件夹的话,也许使用体验更佳
总结
总的来说,Marscode直接集成在编辑器和IDE中真的很方便,尤其是有了#Workspace能力后,对于拿到一个新的项目的人(尤其是像我这样的小白),来分析项目简直不要太快,并且不需要太高门槛,有Marscode来指点江山,能节省掉不少学习上走弯路卡BUG的时间,真心希望Marscode能越来越好