Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>奈雪~开发平台New to Visual Studio Code? Get it now.
奈雪~开发平台

奈雪~开发平台

pindao

|
1 install
| (0) | Free
奈雪开发平台
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

奈雪开发平台

功能简介

奈雪开发平台是一个全面的 VS Code 扩展,提供代码安全检查和代码格式化配置功能。

主要功能

  • 敏感信息检测:自动识别硬编码的密码信息
  • 灵活的扫描模式:支持全局扫描和登录页面扫描
  • Prettier 代码格式化:快速配置和管理代码格式化选项
  • 可配置的扫描选项:通过设置快速调整扫描行为
  • 侧边栏界面:在活动栏提供便捷的操作面板

注意:此扩展旨在帮助识别潜在的安全问题,但不应作为保护代码安全的唯一方法。

环境要求

  • Visual Studio Code 版本 1.100.0 或更高版本

第一部分:敏感信息检测

功能说明

本功能帮助您在开发过程中识别代码中的硬编码密码敏感信息。当检测到潜在的硬编码密码时,扩展会提供警告通知。

扫描模式

扩展提供两种灵活的扫描模式:

  1. 全局扫描:扫描项目中的所有支持文件类型
  2. 登录页扫描:仅扫描与登录相关的文件

支持的文件类型

  • JavaScript (.js)
  • TypeScript (.ts)
  • TypeScript React (.tsx)
  • JavaScript React (.jsx)
  • HTML (.html)
  • Vue (.vue)
  • JSON (.json)

排除的文件类型

扩展会自动排除以下类型的文件,提高扫描精准度:

  • 静态资源文件(.jpg, .png, .gif, .svg, .ico 等)
  • 样式文件(.css, .scss, .less, .sass, .styl 等)
  • 字体文件(.woff, .woff2, .ttf, .eot 等)
  • 国际化配置文件(文件名包含 i18n、locale、messages、lang 或 zh.json、en.json)
  • 压缩文件和媒体文件

排除的代码结构

为了减少误报,以下代码结构中的敏感信息被视为非硬编码信息而被排除:

  • 常量定义:全大写名称的常量定义(如 USER_ROLES、PERMISSIONS 等)
  • 接口/类型定义:interface 和 type 关键字定义的接口或类型(整个定义块)
  • 嵌套对象中的变量:当值为变量标识符或函数调用时(而非字面量)
  • 注释:代码注释中的内容
  • 占位符:包含 ${} 或 {} 格式的占位符变量
  • 代码示例:完全等于 your、placeholder、example、test、dummy、xxxx、****、password 等示例关键字的内容

检测的敏感信息模式

扩展检测以下硬编码敏感信息:

  • 密码字段:password、pass、pwd、psd(仅检测字面量常量值)

检测示例

以下情况会被检测为敏感信息:

// ❌ 对象中的硬编码密码字面量(会被检测)
const oo = {
  password: '22222222222',
  pwd: '2222222'
}

const config = {
  auth: {
    password: 'admin123',
    pwd: 'secret123'
  }
}

// ❌ 直接赋值硬编码密码
const loginPassword = 'MySecretPassword123'
let pwd = 'userPassword'

以下情况会被排除(不会触发警告):

// ✅ 普通对象中的变量赋值(排除)
const oo = {
  password: adminPassword,      // 变量,不是字面量
  pwd: getPassword()            // 函数调用,不是字面量
}

// ✅ 接口定义(排除)
interface LoginForm {
  password: string
  pwd: string
}

type UserInput = {
  password: string
}

// ✅ 注释中的内容(排除)
// This is the password field
const password = adminPassword

// ✅ 占位符变量(排除)
const password = '${PASSWORD_VALUE}'
const pwd = `${PASSWORD_VAR}`

// ✅ 示例/测试关键字(排除)
const password = 'example'
const pwd = 'test'

使用敏感信息检测

方式一:侧边栏面板(推荐)

  1. 点击左侧活动栏中的奈雪图标打开侧边面板
  2. 侧边栏提供以下功能:
    • 状态信息:实时显示扫描状态和当前扫描模式
    • 扫描操作:一键执行全局扫描或登录页扫描
    • 设置选项:快速更改扫描模式或打开详细设置
  3. 点击标题栏的刷新图标可刷新侧边栏状态
  4. 点击任意扫描选项即可立即执行对应的扫描

方式二:命令面板

  1. 按 Ctrl+Shift+P 打开命令面板
  2. 输入"奈雪开发平台"查找相关命令:
    • 全局扫描敏感信息:扫描整个项目中的所有文件
    • 扫描登录页敏感信息:仅扫描与登录相关的文件
    • 更改扫描模式:更改默认扫描模式
    • 打开扩展设置:打开扩展配置设置

方式三:快捷键

扩展提供了便捷的快捷键来快速执行扫描功能:

  • 全局扫描敏感信息:Ctrl+Shift+F7 (Windows/Linux) 或 Cmd+Shift+F7 (macOS)
  • 扫描登录页敏感信息:Ctrl+Shift+F8 (Windows/Linux) 或 Cmd+Shift+F8 (macOS)

快捷键仅在编辑器获得焦点时有效。如果快捷键与其他扩展冲突,可以通过 VS Code 的键盘快捷方式设置进行自定义。

敏感信息扫描配置

启用/禁用扫描

  • nayuki-development-platform.enableScan:启用敏感信息扫描功能
    • true:启用扫描(默认)
    • false:禁用扫描

扫描模式设置

  • nayuki-development-platform.scanMode:设置默认扫描模式
    • full:全局扫描(默认)
    • login:仅扫描登录相关文件

当禁用扫描功能时,扩展不会自动扫描项目文件,也不会响应手动扫描命令。

自动扫描

扩展在以下情况下会自动扫描:

  • VS Code 打开项目时
  • 根据配置的默认扫描模式执行相应扫描
  • 仅当启用扫描功能时才会执行

第二部分:Prettier 代码格式化

功能说明

Prettier 代码格式化功能让您能够快速配置和管理 Prettier 代码格式化选项。无需手动编辑配置文件,通过友好的用户界面即可设置所有常用的格式化参数。

配置方式

Prettier 配置提供四种灵活的配置方式,您可以根据需求选择最适合的方式:

方式一:使用默认配置

快速应用预设的 Prettier 配置,包含以下默认参数:

  • editor.formatOnSave:true(保存时自动格式化)
  • editor.defaultFormatter:esbenp.prettier-vscode
  • prettier.printWidth:80(每行最大字符数)
  • prettier.semi:false(不添加分号)
  • prettier.singleQuote:true(使用单引号)
  • prettier.trailingComma:es5(尾部逗号)
  • prettier.bracketSpacing:true(对象空格)
  • prettier.arrowParens:always(箭头函数括号)

方式二:通过文本框输入 JSON

在文本输入框中直接输入 Prettier 配置的 JSON 格式,支持自定义修改默认配置。扩展会自动解析 JSON 并与默认配置合并。

示例:

{
  "prettier.semi": false,
  "prettier.singleQuote": true,
  "prettier.printWidth": 100
}

方式三:从文件导入

从项目中选择现有的配置文件(通常是 .prettierrc 或 prettier.config.js 的导出 JSON)进行导入。导入的配置将与默认配置合并。

方式四:逐项配置

通过交互式问卷逐项设置 Prettier 配置参数,包括:

  • printWidth:每行最大字符数(默认 80)
  • semi:句尾是否添加分号(默认 false)
  • singleQuote:使用单引号还是双引号(默认单引号)
  • formatOnSave:保存时自动格式化(默认 true)
  • trailingComma:尾部逗号处理(none/es5/all)
  • bracketSpacing:对象文字前后是否添加空格(默认 true)

配置存储位置

Prettier 配置会被保存到项目工作目录下的 .vscode/settings.json 文件中,这样所有团队成员在打开项目时都能获得一致的代码格式化配置。

使用 Prettier 配置

  1. 按 Ctrl+Shift+P 打开命令面板
  2. 搜索"配置 Prettier"或"Configure Prettier"
  3. 选择希望的配置方式
  4. 按照提示输入或选择配置参数
  5. 配置将自动保存到 .vscode/settings.json
  6. VS Code 会立即应用新的 Prettier 配置

Prettier 配置示例

严格模式(添加分号、双引号)

{
  "editor.formatOnSave": true,
  "editor.defaultFormatter": "esbenp.prettier-vscode",
  "prettier.semi": true,
  "prettier.singleQuote": false,
  "prettier.printWidth": 100
}

宽松模式(不添加分号、单引号)

{
  "editor.formatOnSave": true,
  "editor.defaultFormatter": "esbenp.prettier-vscode",
  "prettier.semi": false,
  "prettier.singleQuote": true,
  "prettier.printWidth": 120
}

扩展设置

可以通过以下方式访问扩展设置:

  1. 按 Ctrl+, 打开 VS Code 设置
  2. 搜索"奈雪开发平台"
  3. 修改相关配置项

或者使用命令面板中的"打开扩展设置"命令。

已知问题

  • 常量定义整个块会被排除,但其中的变量赋值不会报警
  • 每个文件的扫描性能与文件大小有关

更新日志

0.0.2

  • 优化密码检测功能,只检查密码字段,不检查用户名
  • 添加对 .tsx 和 .jsx 文件的支持
  • 改进了字面量常量区分:值为变量时通过,值为字面量时报警
  • 优化常量定义排除策略:只排除大写常量,普通对象也会检测
  • 添加对常量名称检测,自动不排除大写常量

0.0.2

奈雪开发平台的初始版本,具备基本的敏感信息检测功能和 Prettier 代码格式化配置功能,支持全局扫描和登录页扫描两种扫描模式。

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