微信扫码
与创始人交个朋友
我要投稿
在现代编程环境中,AI技术正在逐步改变开发者的工作方式。以Cursor为代表的新一代AI驱动的代码编辑器,通过其强大的Agent模式和高级功能,为开发者提供了高效、智能的编程体验。本文将详细介绍Cursor的Agent模式功能以及一些实用的高级使用技巧,帮助你充分挖掘Cursor的潜力。
正好发文之前,发现Cursor又进行了一次更新,所以本文会顺带一起看看更新了哪些内容。
官网最新的更新如上图,我帮大家翻译了一下,主要的更新内容如下:
可以看到,大部分的更新都是和Agent模式相关的,总的目的就是让Agent模式更强大,更智能,更符合开发者的使用习惯。这也是为了和Windsurf直接展开竞争,毕竟Windsurf的Agent模式已经很强大了,Cursor不能落后太多。
Agent模式是Cursor中一项核心功能,它通过深度集成AI技术,主动与开发者的代码库交互,提供上下文相关的建议、代码生成和操作支持。Agent模式的设计目标是成为开发者的“智能编程伙伴”,帮助完成复杂任务并提升开发效率。
启用Agent模式非常简单,只需使用快捷键⌘.
(Mac)或Ctrl + .
(Windows/Linux),即可激活Agent功能。在Agent模式下,你可以通过命令行或快捷键执行以下操作:
@
命令快速调整AI的关注范围。或者直接在Composer右下角点击agent按钮,也可以启用Agent模式,如下图所示。
如果是一般的聊天交互,比如你想让Cursor帮你修改某个文件,那么Normal模式就可以完成,不需要启用Agent模式。
如果需要Cursor独立的去完成一项相对复杂的任务,那么Agent模式可以做的事情非常多,以下是一些常见的使用场景:
正如之前提到的,Agent模式可以连续调用最多25个工具,所以它会自己努力尝试各种方法,直到完成任务,中途不需要用户的干预。这就是它的强大之处,也是它和普通聊天模式最大的区别。
比如我让Cursor帮我生成一个Todo List的WebAPP项目,它会自动生成一个完整的项目,包括项目结构、前后端代码、测试用例等。下图就是Cursor的Agent模式一次交互产生的所有内容总结,相当高效。
除了Agent模式外,Cursor还提供了许多高级功能,帮助开发者更高效地完成任务。以下是我帮大家整理的七个常用的高级技巧:
在开发过程中,准确的上下文管理对于提升AI生成代码的质量至关重要。Cursor通过@
命令和上下文胶囊(Context Pills)功能,让开发者可以精确控制AI的工作范围。
#
加文件名的方式,指定某个文件作为上下文。例如,输入#main.py
,AI将只关注main.py
文件中的内容。下图是Context Pills的示例,可以看到,Cursor会自动提取当前文件可能的上下文,并显示在聊天窗口顶部。
Cursor的代码自动补全功能,不仅可以根据上下文生成代码,还支持通过自然语言描述生成完整的代码模块。
Ctrl + K
**:打开命令输入框,用于输入自然语言指令或关键字。Tab
键:接受AI的补全建议。Cursor的Chat模式是一个强大的交互工具,允许开发者直接与代码“对话”,获取解释和建议。
Ctrl + L
**:打开聊天面板,与代码进行交互。下图是Chat模式的@选项,可以看到,用户聊天的时候,也可以自主选择各种上下文,来更好的提出问题。
Cursor内置了强大的版本控制功能,每次生成代码或修改文件时,都会自动创建一个检查点(Checkpoint)。
如下图所示,如果对修改不满意,可以点击restore恢复到修改之前的状态。
Cursor不仅可以生成代码,还可以自动生成项目文档,包括函数说明、使用指南等。
在项目初期,输入指令“生成项目的Readme文件”,Cursor会根据代码库内容生成一份详细的文档,包括功能描述、使用方法和依赖项说明。然后再随后的任务中,Cursor会根据代码库内容自动更新Readme文件。
Cursor允许开发者通过Rules for AI 功能自定义AI的行为,使其更符合个人或团队的开发需求。这一功能可以在Cursor的设置中找到,路径为:Settings > General > Rules for AI。
下图是我设置的几个规则,可以看到,我让Cursor遵循著名的ThinkingClaude提示词,具体效果大家可以去试试,主要是为了展示Cursor的思考过程。
- 优先生成Python代码 - 使用中文回复 - 在代码中添加详细注释 - 使用Windows的命令行命令
Rules for AI是针对整个Cursor的设置,所以类似System Prompt,Cursor还支持通过.cursorrules
文件进一步自定义AI的项目行为,开发者可以根据个人习惯和项目需求调整AI的工作方式。
下面这个Python数据分析专家自定义的规则,是我从cursor.directory(https://cursor.directory) 的网站里借鉴的,大家可以参考一下。这个网站收集了不少Cursor的自定义规则,方便大家参考,不用重复造轮子。
You are an expert in data analysis, visualization, and Jupyter Notebook development, with a focus on Python libraries such as pandas, matplotlib, seaborn, and numpy.
Key Principles:
- Write concise, technical responses with accurate Python examples.
- Prioritize readability and reproducibility in data analysis workflows.
- Use functional programming where appropriate; avoid unnecessary classes.
- Prefer vectorized operations over explicit loops for better performance.
- Use descriptive variable names that reflect the data they contain.
- Follow PEP 8 style guidelines for Python code.
Data Analysis and Manipulation:
- Use pandas for data manipulation and analysis.
- Prefer method chaining for data transformations when possible.
- Use loc and iloc for explicit data selection.
- Utilize groupby operations for efficient data aggregation.
Visualization:
- Use matplotlib for low-level plotting control and customization.
- Use seaborn for statistical visualizations and aesthetically pleasing defaults.
- Create informative and visually appealing plots with proper labels, titles, and legends.
- Use appropriate color schemes and consider color-blindness accessibility.
Jupyter Notebook Best Practices:
- Structure notebooks with clear sections using markdown cells.
- Use meaningful cell execution order to ensure reproducibility.
- Include explanatory text in markdown cells to document analysis steps.
- Keep code cells focused and modular for easier understanding and debugging.
- Use magic commands like %matplotlib inline for inline plotting.
Error Handling and Data Validation:
- Implement data quality checks at the beginning of analysis.
- Handle missing data appropriately (imputation, removal, or flagging).
- Use try-except blocks for error-prone operations, especially when reading external data.
- Validate data types and ranges to ensure data integrity.
Performance Optimization:
- Use vectorized operations in pandas and numpy for improved performance.
- Utilize efficient data structures (e.g., categorical data types for low-cardinality string columns).
- Consider using dask for larger-than-memory datasets.
- Profile code to identify and optimize bottlenecks.
Dependencies:
- pandas
- numpy
- matplotlib
- seaborn
- jupyter
- scikit-learn (for machine learning tasks)
Key Conventions:
1. Begin analysis with data exploration and summary statistics.
2. Create reusable plotting functions for consistent visualizations.
3. Document data sources, assumptions, and methodologies clearly.
4. Use version control (e.g., git) for tracking changes in notebooks and scripts.
Refer to the official documentation of pandas, matplotlib, and Jupyter for best practices and up-to-date APIs.
Cursor通过Agent模式的增强和一系列高级功能,为开发者提供了一个智能、高效的编程环境。从代码生成、优化到文档管理,再到自定义AI规则,Cursor几乎覆盖了开发流程的各个环节。无论是个人开发者还是团队协作,Cursor都能显著提升工作效率。
如果你还没有尝试过Cursor这些方法,不妨也去试试。通过合理利用Agent模式、高级技巧和自定义规则,你也可以成为编程效率的“10倍开发者”!
53AI,企业落地应用大模型首选服务商
产品:大模型应用平台+智能体定制开发+落地咨询服务
承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业
2024-09-04
2024-10-30
2024-12-25
2024-09-26
2024-09-03
2024-09-06
2024-10-30
2024-08-18
2024-11-23
2024-11-19