Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>Smooth PageUpNew to Visual Studio Code? Get it now.
Smooth PageUp

Smooth PageUp

LiRenTech

|
31 installs
| (0) | Free
让 PageUp 和 PageDown 键的滚动更加平滑顺畅
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Smooth Key

一个让 VSCode 中 PageUp 和 PageDown 键滚动更加平滑顺畅的扩展插件。

✨ 功能特性

  • 🎯 平滑滚动动画 - 将原本的瞬间跳转变为流畅的滚动动画
  • ⌨️ 光标同步移动 - 光标跟随视图平滑移动,保持视觉一致性
  • ⚙️ 高度可定制 - 支持自定义滚动步数和持续时间
  • 🚀 轻量高效 - 不影响编辑器性能,响应迅速
  • 🎨 无缝集成 - 自动拦截默认的 PageUp/PageDown 行为,无需手动配置

📦 安装

从 VS Code Marketplace 安装

  1. 打开 VS Code
  2. 按 Ctrl+Shift+X (Windows/Linux) 或 Cmd+Shift+X (Mac) 打开扩展面板
  3. 搜索 "Smooth Key"
  4. 点击安装

手动安装

  1. 下载 .vsix 文件
  2. 在 VS Code 中按 Ctrl+Shift+P (Windows/Linux) 或 Cmd+Shift+P (Mac)
  3. 输入 "Extensions: Install from VSIX..."
  4. 选择下载的 .vsix 文件

🚀 使用方法

安装插件后,直接使用 PageUp 和 PageDown 键即可享受平滑滚动效果,无需任何额外配置!

  • PageUp - 向上平滑滚动一页
  • PageDown - 向下平滑滚动一页

光标会跟随视图同步移动,提供流畅的浏览体验。

⚙️ 配置选项

你可以在 VS Code 设置中自定义滚动行为:

smoothKey.steps

  • 类型: number
  • 默认值: 20
  • 范围: 5-50
  • 描述: 平滑滚动的步数。数值越大,滚动越平滑,但可能稍慢。

示例:

{
  "smoothKey.steps": 30
}

smoothKey.duration

  • 类型: number
  • 默认值: 300
  • 范围: 100-1000
  • 单位: 毫秒
  • 描述: 平滑滚动的持续时间。数值越大,滚动越慢。

示例:

{
  "smoothKey.duration": 400
}

如何修改配置

  1. 按 Ctrl+, (Windows/Linux) 或 Cmd+, (Mac) 打开设置
  2. 搜索 "smoothKey"
  3. 修改相应的配置项

或者直接编辑 settings.json:

{
  "smoothKey.steps": 25,
  "smoothKey.duration": 350
}

🛠️ 开发

前置要求

  • Node.js (推荐 v18 或更高版本)
  • pnpm (推荐 v8 或更高版本)
  • VS Code (v1.74.0 或更高版本)

克隆项目

git clone https://github.com/LiRenTech/vscode-smooth-pageup.git
cd vscode-smooth-pageup

安装依赖

pnpm install

编译项目

pnpm run compile

开发模式(监听文件变化)

pnpm run watch

调试

  1. 按 F5 启动调试
  2. 会打开一个新的 "扩展开发宿主" 窗口
  3. 在新窗口中测试插件功能

代码检查

pnpm run lint

打包

# 安装 vsce(如果还没有)
npm install -g @vscode/vsce

# 打包(使用 --no-dependencies 跳过依赖检查,因为项目使用 pnpm)
vsce package --no-dependencies

📁 项目结构

smooth-pageup/
├── src/
│   └── extension.ts      # 插件主入口文件
├── out/                  # TypeScript 编译输出目录
├── .vscode/              # VS Code 工作区配置
│   ├── launch.json       # 调试配置
│   └── tasks.json        # 构建任务配置
├── .eslintrc.json        # ESLint 配置
├── .gitignore            # Git 忽略文件
├── .vscodeignore         # VS Code 打包忽略文件
├── .npmrc                # pnpm 配置
├── package.json          # 插件清单文件
├── tsconfig.json         # TypeScript 配置
└── README.md             # 项目说明文档

🔧 工作原理

插件通过以下方式实现平滑滚动:

  1. 拦截键盘事件 - 通过 keybindings 配置拦截 PageUp/PageDown 键
  2. 计算滚动距离 - 获取当前编辑器可见行数,计算一页的行数
  3. 分步执行 - 将一页的滚动距离分成多个小步
  4. 平滑动画 - 通过时间控制,在指定时间内逐步完成滚动
  5. 同步移动 - 同时移动视图和光标,保持一致性

🤝 贡献

欢迎提交 Issue 和 Pull Request!

📝 更新日志

0.0.1

  • ✨ 初始版本发布
  • 🎯 实现 PageUp/PageDown 平滑滚动
  • ⌨️ 支持光标同步移动
  • ⚙️ 支持自定义滚动步数和持续时间

📄 许可证

MIT License

🙏 致谢

感谢所有使用和反馈的用户!


享受更流畅的代码浏览体验! 🎉

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft