返回文章列表
471 字 · 2 分钟

Windows 系统下的 JavaScript/TypeScript 开发者Cursor 使用技巧

· 编辑文章

🖥️ Windows 快捷键适配

功能快捷键 (Windows)
生成/修改代码Ctrl + K
解释选中代码Ctrl + L
快速添加注释Ctrl + /
扩展/缩小选区Alt + ↑/↓

🚀 JS/TS 专属技巧

1. 快速生成类型(TypeScript)

  • 场景:根据数据生成接口或类型别名
    // 根据以下数据生成TypeScript接口:
    const user = {
      id: 123,
      name: "Alice",
      roles: ["admin", "user"]
    };
  • 结果:生成 interface User { id: number; name: string; roles: string[] }

2. React/Vue 组件生成

  • 示例指令:
    // 用React生成一个带props类型校验的函数组件,显示一个可点击的按钮,按钮文本来自props
  • 输出:生成包含 interface ButtonProps 和 TSX 组件的代码

3. 异步代码优化

  • 重构请求逻辑:
    // 将以下回调代码改为async/await形式:
    fetchData((err, data) => {
      if (err) console.error(err);
      else process(data);
    });

4. ES6+ 语法转换

  • 指令示例:
    // 将以下代码转换为使用箭头函数和模板字符串:
    function greet(name) {
      return "Hello, " + name + "! Today is " + new Date().toDateString();
    }

🔧 调试与优化

1. 错误分析

  • 粘贴错误:直接复制 TS 编译错误到注释
    // 错误 TS2322: Type 'string' is not assignable to type 'number'
    const age: number = "25";
  • 输出:AI 会指出类型不匹配并建议 parseInt("25")

2. 性能优化建议

  • 示例指令:
    // 优化以下循环的性能(大数据量场景):
    const arr = new Array(1000000).fill(0);
    const results = [];
    for (let i = 0; i < arr.length; i++) {
      results.push(arr[i] * 2);
    }
  • 建议:推荐改用 TypedArray 或 Web Worker

📦 框架集成

1. Next.js/Nuxt.js 路由生成

  • 指令示例:
    // 在Next.js中创建动态路由页面的模板代码,需要类型安全的params

2. 状态管理代码生成

  • 示例:
    // 用Zustand生成一个带actions的计数器store,包含递增和重置方法

🗄️ 数据库 & API

1. TypeORM 实体生成

  • 指令示例:
    // 根据SQL表结构生成TypeORM实体:
    /*
      CREATE TABLE users (
        id INT PRIMARY KEY,
        email VARCHAR(255) UNIQUE,
        created_at TIMESTAMP
      );
    */

2. API 请求生成

  • 示例:
    // 用axios创建带TS类型的API请求函数,处理用户登录(POST /api/login)

🔍 高级调试技巧

1. TS 类型体操辅助

  • 复杂类型问题:
    // 如何实现一个泛型DeepPartial<T>,递归地将所有属性变为可选?

2. Node.js 调试

  • 错误分析:
    // 为什么这段代码在Node.js中报错:ERR_MODULE_NOT_FOUND?
    import { utils } from './lib-utils.js'; 

📝 文档生成

1. JSDoc 自动生成

  • 操作:在函数上方输入 ///
    /// 
    function calculatePrice(quantity: number, price: number): number {
      return quantity * price;
    }
  • 输出:自动生成参数和返回值的文档注释

⚡ 实战示例

场景 1:快速生成 React 表单验证

// 用React Hook Form创建一个登录表单,包含邮箱和密码的TS类型校验:
// - 邮箱必填且符合格式
// - 密码最少6位

场景 2:处理 JSON 数据转换

// 将以下API响应数据转换为TypeScript类型,并写一个解析函数:
/*
  {
    "items": [
      { "id": 1, "name": "item1", "tags": ["new"] },
      { "id": 2, "name": null, "tags": [] }
    ]
  }
*/

💡 小贴士

  1. 路径问题:在 Windows 中使用 / 而非 \(Cursor 会自动处理路径兼容性)
  2. TS配置:通过注释指导 AI 遵守你的 tsconfig.json 规则
    // 严格模式开启,不使用any类型
  3. 版本控制:结合 Git 使用 Cursor 的代码生成功能,方便回退修改

这些技巧可帮助你在 JavaScript/TypeScript 开发 + Windows 环境 下显著提升效率。遇到复杂场景时,尝试通过多轮对话逐步细化需求(如:“添加错误边界处理” → “改用Redux管理状态”)。

评论

无需注册,填写昵称即可评论 阅读 — 次