为什么需要@workspace
默认情况下,copilot只能分析当前文件中的代码内容,
那么如何让copliot 跨文件分析,分析整个项目,分析整个代码目录下的代码,就要用到@workspace,举例 :假设如下代码 index.py 和 tool.py 同级.
index.py
import whisper
from tool import traditional_to_simplifiedif __name__ == "__main__":model = whisper.load_model("base")file = "1.m4a"result = model.transcribe(file, fp16=False, language="Chinese")print(result)segements = result["segments"]for segement in segements:print(traditional_to_simplified(segement["text"]))
tool.py
import zhconvdef traditional_to_simplified(text):# 调用convert函数将繁体字转换为简体字simplified_text = zhconv.convert(text, "zh-hans")return simplified_text
看下加和不加workspace的区别,不加,只能推测,无法给出准确答案
加完以后,则可以搜索整个项目,给出答案。
Github Copilot @workspace — 更多用例
整体项目相关
- @workspace 告诉我当前的工作空间结构
- @workspace 如何运行这个应用程序
- @workspace 这里使用的自动化测试技术栈是什么
添加新功能
- @workspace 如何在前端应用程序中添加新路由
- @workspace 如何此处创建新的后端 REST 接口
- @workspace 给接口
/orders/:id
mock数据
排查问题
- @workspace 当我访问
/orders/:id
我看到 404 错误。原因可能是什么? - @workspace amount组件中的计算不正确,但单元测试显示正确的计算。为什么?
- @workspace 当我请求
/amount
接口时,返回413。请排查并调整。
优化/重构
- @workspace
/orders
接口为什么在请求量大的时候变慢,应该如何调整。 - @workspace src下的文件,怎么规整更清晰,调整建议。
- @workspace src下controller代码过大,里面是否需要拆分,优化建议。
- @workspace src/utility 其中的计算方法数据过大时总是oom,优化建议。
这里列举并不详尽,更多使用方式,期待你的发现😉