首页 文章 精选 留言 我的

精选列表

搜索[vscode],共1027篇文章
优秀的个人博客,低调大师

告别低效Ctrl C复制,VSCode支持拖拽复制大法了

前几天帮同事看一个 bug,他屏幕共享给我,代码写到一半,他说:"你等一下,我把这段代码挪上去。" 然后我看到他选中了一段代码,按住鼠标,拖到了上面,松手。代码就移动过去了。 整个过程大概三秒。 我愣了一下,问他:"你刚才……拖的?" 他说:"对啊,VS Code 现在支持拖拽了。" 我说:"我用了这么多年,从来不知道还能拖。" 他说:"默认关的,你得去设置里打开。" 那个下午,我回去翻了翻更新日志,才发现这个功能确实存在,而且藏得挺深——`editor.dragAndDrop`,默认 `false`。 拖拽文本这个操作,在大多数编辑器里早就存在了。Sublime Text、Notepad++、甚至浏览器里的文本框,都支持。VS Code 拖到现在才加,多少有点出人意料。 但更让我纠结的是另一个问题:**在写代码的场景里,拖拽文本真的是一个好操作吗?** 我的日常编辑习惯是这样的: - 移动一行:`Alt + ↑` / `Alt + ↓` - 移动一段代码:剪切 → 光标移到目标位置 → 粘贴 - 重构:多光标、查找替换、或者直接让 AI 改 这些操作的共同点是:**手不用离开键盘**。 而拖拽意味着:右手离开键盘、握住鼠标、选中、拖动、瞄准、松手。整个过程需要视觉定位,拖拽过程中如果目标位置在屏幕外,还得等编辑器自动滚动。 说实话,在代码编辑器里,我几乎想不出什么场景是"拖拽"比"键盘操作"更高效的。 ## 但它确实有用武之地 冷静下来想,拖拽文本在几个特定场景里是合理的: **大段代码的跨屏移动。** 如果一段代码要从文件开头移到文件结尾,用键盘操作需要:剪切、`Ctrl + End`、粘贴。拖拽的话,直接拖到滚动条附近,编辑器自动滚动到目标位置,松手。这个场景下拖拽确实更直观。 **新手用户。** 对于刚接触 VS Code 的人来说,"选中、拖过去"是最符合直觉的操作。他们不需要记住任何快捷键。 **鼠标已经在手上了。** 如果你刚用鼠标完成了一次点击操作,顺手拖一下,比"把手放回键盘、敲快捷键"更自然。 下面来感受下效果 ![在这里插入图片描述](https://developer.qcloudimg.com/http-save/yehe-11859176/26dba259d723569912fcd384efb805a8.gif) 另外还值得一说的是,当你拖动之前,可以再win先按ctrl,然后再拖动,这样的效果相当于把内容复制过去,原来的内容还在。再mac上需要按alt 这个功能的定位很明确:它服务于"鼠标优先"的用户,而不是"键盘优先"的用户。 VS Code 作为一款覆盖了广泛用户群体的编辑器,加入这个特性是合理的。它不会影响键盘流用户的体验,同时给习惯用鼠标的人提供了一个更自然的操作方式。 至于我——我大概不会打开它。不是因为我觉得它不好,而是因为我已经习惯了键盘操作,而且我不想承担误触的风险。 但这正是 VS Code 做得好的地方:**它给了你选择,而不是替你做决定。**

优秀的个人博客,低调大师

Rax 2020.2.14 发布: Flexbox 布局 VSCode 插件、更好的工程体验

Rax 工程 新增多端支持全局 css 变量 新增在工程中的 build.json 中设置 alias 新增 dark 和 light 模式开发:业务开发支持使用 css 开发 dark 模式 UI 新工程 eslint 检测:新工程支持 eslint-config-rax 配置 修复 build-plugin-rax-app 中 web target 必须在第一个位置,否则 start 命令启动异常问题 修复当项目为 css module 的时候 style 动态计算报错 修复 html 文件在 windows 上的路径问题 新增产物输出 umd 格式 新增 CLI 通过 help 查看参数 Rax 小程序链路 修复 script-loader 解析多版本 npm 包时路径错乱的问题 完善对 TypeScript的支持 完善了对 if条件渲染的语法支持 支持更多循环渲染的场景,比如多层 map 移除原有 useLocation等小程序独有的 Hooks、直接在 class component中设置 onShow等监听原生事件,使用 withRouter/addNativeEventListener等 API 进行替代 修复 withRouter失效的问题 Rax 基础组件 修复 rax-slider在支付宝小程序 component1 中的不兼容问题,并支持在小程序中动态修改 index来实现切换轮播的元素的功能 新增 rax-icon支持微信和支付宝小程序端 基础组件增加 Demo 的 SSR 的预览能力支持,基础组件是否支持 SSR 渲染是 SSR 业务落地的一个关键因素 Rax VS Code Extension Create Rax 支持组件类型选择:rax-generator 最新版本组件可选择 componentType 新增 Rax JSON Config 扩展:用户可快速编辑 build.json 的扩展,支持功能提示、自动补全、代码片段及字段校验功能 新增写 Flexbox 布局必装插件 其它生态 eslint-config-rax迎来重大更新,Rax 团队所有项目的规则都收敛到 eslint-config-rax 新增 ESlint 规则module/no-extraneous-dependencies,用于检测未将依赖加入 package.json 的场景,相比社区常用的 import/no-extraneous-dependencies ,这条规则不需要进行前置的依赖安装 其它 Rax 开源仓库 钉钉交流群 Rax 微信交流群

优秀的个人博客,低调大师

Rax 2.14 发布: Flexbox 布局 VSCode 插件、更好的工程体验

Rax 工程 新增多端支持全局 css 变量 新增在工程中的 build.json 中设置 alias 新增 dark 和 light 模式开发:业务开发支持使用 css 开发 dark 模式 UI 新工程 eslint 检测:新工程支持 eslint-config-rax 配置 修复 build-plugin-rax-app 中 web target 必须在第一个位置,否则 start 命令启动异常问题 修复当项目为 css module 的时候 style 动态计算报错 修复 html 文件在 windows 上的路径问题 新增产物输出 umd 格式 新增 CLI 通过 help 查看参数 Rax 小程序链路 修复 script-loader 解析多版本 npm 包时路径错乱的问题 完善对 TypeScript的支持 完善了对 if条件渲染的语法支持 支持更多循环渲染的场景,比如多层 map 移除原有 useLocation等小程序独有的 Hooks、直接在 class component中设置 onShow等监听原生事件,使用 withRouter/addNativeEventListener等 API 进行替代 修复 withRouter失效的问题 Rax 基础组件 修复 rax-slider在支付宝小程序 component1 中的不兼容问题,并支持在小程序中动态修改 index来实现切换轮播的元素的功能 新增 rax-icon支持微信和支付宝小程序端 基础组件增加 Demo 的 SSR 的预览能力支持,基础组件是否支持 SSR 渲染是 SSR 业务落地的一个关键因素 Rax VS Code Extension Create Rax 支持组件类型选择:rax-generator 最新版本组件可选择 componentType 新增 Rax JSON Config 扩展:用户可快速编辑 build.json 的扩展,支持功能提示、自动补全、代码片段及字段校验功能 新增写 Flexbox 布局必装插件 其它生态 eslint-config-rax迎来重大更新,Rax 团队所有项目的规则都收敛到 eslint-config-rax 新增 ESlint 规则module/no-extraneous-dependencies,用于检测未将依赖加入 package.json 的场景,相比社区常用的 import/no-extraneous-dependencies ,这条规则不需要进行前置的依赖安装 其它 Rax 开源仓库 钉钉交流群 Rax 微信交流群

优秀的个人博客,低调大师

VSCode创建文件:从“最慢”到“最快”的 5 种姿势

说一个你可能每天都干,但从来懒得优化的事儿——在 VS Code 里新建一个文件。 你的流程大概率是:右手离开键盘,摸到鼠标,精准地把光标移动到资源管理器(Explorer)面板上那个小小的“新建文件”图标(📄+),点一下,再把手放回键盘,输入文件名。 整个过程你像在玩一场“鼠标瞄准挑战赛”,眼睛要盯、手要稳,稍微偏一点就点到了旁边的文件夹。 关键是,这个动作你每天可能要重复几十次。几十次“瞄准-点击”,累加起来就是一笔不小的“精神熵增”。 好消息是,VS Code 里藏了至少 5 种新建文件的方法,从“萌新乱按”到“键仙附体”,我给它分了五个段位。看看你现在在第几层。 ---- ## 🥉 青铜段位:菜单流 **操作:** `File → New File…` **速度:** ⭐ 这是最“正统”但也最慢的方式。你的视线要离开编辑器,往上移动到屏幕最顶部的菜单栏,在“文件”菜单里找到“新建文件”,点击,然后弹出一个文件选择器让你选保存位置——明明 VS Code 自己就有文件管理器,它偏要走个过场。 ![在这里插入图片描述](https://developer.qcloudimg.com/http-save/yehe-11859176/b374765d0932fee8a1342c7490991b75.png) 适合谁:刚装好 VS Code、还没学会任何快捷键的新手。以及,嗯……可能没人了。 ---- ## 🥈 白银段位:图标流 **操作:** 点击资源管理器顶部的 **“New File”** 图标(📄+) **速度:** ⭐⭐ 这是大多数“鼠标党”的日常操作。比菜单流快一点,因为你不用跨过整个屏幕去够顶部菜单,目光只需要移动到左侧边栏。 ![在这里插入图片描述](https://developer.qcloudimg.com/http-save/yehe-11859176/069545fa24b7f7dd02fb65dd4eab231d.png) 但问题还在:你得**精准地瞄准**那个小图标。图标尺寸不大,旁边还挨着“新建文件夹”和“刷新”按钮,手一抖就点错了。而且你依然要完成“右手离开键盘 → 摸鼠标 → 瞄准 → 点击 → 手回到键盘”这一整套动作。 ---- ## 🥇 黄金段位:双击流 **操作:** 在资源管理器面板的**空白区域**双击鼠标左键 **速度:** ⭐⭐⭐ 这是一个很多人不知道的“小彩蛋”。你不用瞄准任何按钮,直接在文件列表的空白处双击,新建文件的输入框就会立刻出现。 ![在这里插入图片描述](https://developer.qcloudimg.com/http-save/yehe-11859176/a5fb18dc51cbab15ce56029830df4c8e.gif) 它比图标流快,因为你**不需要精准瞄准**——空白区域到处都是,随便双击就行。而且它带点“智能”:双击在某个文件夹旁边,文件会建在该文件夹内部;双击在文件列表底部空白处,就建在当前目录下。 但局限也很明显:如果当前文件夹文件太多、把空白区域都挤没了,这招就使不出来了。 ---- ## 🏆 钻石段位:Ctrl+N 流 **操作:** 直接按 `Ctrl+N`(Mac 上是 `Cmd+N`) **速度:** ⭐⭐⭐⭐ 恭喜你,**手终于可以不用离开键盘了。** `Ctrl+N` 会立刻创建一个“无标题”的新文件,你可以直接开始写代码。写完按 `Ctrl+S` 保存时,再选择保存位置和文件名。 ![在这里插入图片描述](https://developer.qcloudimg.com/http-save/yehe-11859176/473b6a1babe519096de18d99151f26ba.png) 它的适用场景很明确:当你**还没有打开任何项目文件夹**,只是想随手写个快速脚本、记个笔记、或者临时粘贴一段代码时,这个快捷键比任何方式都快。 这里也说明下类似的方式是通过命令面板的方式调用new file的效果和直接实用ctrl n的方式还是不一样的,通过命令面板的方式 ![在这里插入图片描述](https://developer.qcloudimg.com/http-save/yehe-11859176/324498717720a2748fb5877d4ae41d63.png) 你也可以在tab页的空白处双击也可以达到ctrl n的效果 缺点在于:如果你是在一个已有项目的特定子目录下工作,用 `Ctrl+N` 建的文件默认不会自动放到那个目录里——你得在保存时手动导航过去。 ---- ## 👑 键仙段位:A 键流 **操作:** 确保焦点在资源管理器面板上,然后直接按键盘上的 **`A`** 键 **速度:** ⭐⭐⭐⭐⭐ 这才是真正的“文件创造术”。 需要在keybinding.json里面增加这个配置 ![在这里插入图片描述](https://developer.qcloudimg.com/http-save/yehe-11859176/a6323a8ab50450930eecbbf4ec1651d1.png) 当你把焦点放在左侧资源管理器面板上时(点击一下文件列表区域即可),直接按 `A` 键,VS Code 会立刻在**当前打开的文件夹**下新建一个文件,并高亮文件名等待你输入。 不需要鼠标、不需要找空白区域、不需要瞄准任何图标。你的手全程在键盘上,而且文件会精确地创建在你想要的位置。如果你希望文件建在某个子文件夹下,先用上下键移动到该文件夹,再按 `A` 即可——全程键盘操作。 ---- 如果你还在白银段位挣扎,试试把 **`A`** 键这个操作刻进肌肉记忆。每天几十次“瞄准-点击”的动作,变成一个键就能解决的事情——**这感觉,就像从挤公交升级到了自己开车。** 目的地一样,但路上的心情完全不同。🚀

优秀的个人博客,低调大师

Zed 符号搜索迎来新功能:和 vscode 拉开了距离了。

当你睁开眼睛而无人看你时,我曾渴望寻觅到你的目光 2026年7月中旬,Zed 新增了一个有趣的新特性,为 **项目符号选择器** 添加了一个实时预览窗格。当你在符号列表中上下移动选择时,右侧会立即显示该符号所在文件的代码。 这是一个看似顺理成章,实现起来却颇费周折的功能。它的出现,让 Zed 的符号搜索体验终于达到了了编辑器领域的一流水准。 ## 从“找到它”到“确认过眼神” 在此之前,Zed 的项目符号搜索已经足够快。你按下 `cmd-t`(或 `ctrl-t`),输入部分类名或函数名,它能瞬间罗列出所有匹配的符号。但问题在于:**列表里只有符号名和文件路径**。 假设你搜索 `getUser`,返回了 10 个结果,分别来自不同的文件或不同的 struct 实现。你只能根据文件名和符号名去猜测,哪个才是你要找的那个。如果猜错了,就需要打开文件、关闭、再试下一个。 这种“试错式导航”让人心力交瘁,降低了模糊搜索本该带来的效率提升。感觉就像你跟一个人谈了一段时间恋爱之后发现他就不是你喜欢的那种人一样。 ![](https://developer.qcloudimg.com/http-save/yehe-11859176/e62ce15bc4e9f134d0bd5444b5a0d1be.png) **预览窗格解决的就是这个“确认”问题**。当你选中一个符号,它的定义处代码片段会立刻展示在右侧。你不需要离开当前上下文,就能确认这个符号的上下文、甚至周围的代码,从而做出准确判断。 ![](https://developer.qcloudimg.com/http-save/yehe-11859176/0289126a687163baa71f9195d6266395.png) 你只需要像text finder一样,点击下面的preview就可以开启预览 ![](https://developer.qcloudimg.com/http-save/yehe-11859176/bccbc567bb0e3171d53fe2c01e676eae.png) 在 UI 设计上,Zed 保持了其一贯的克制:预览窗格并非强制显示,**用户可以通过底部的按钮随时关闭它**,回到纯粹的列表模式。这种“可选性”很重要,它尊重了不同用户的工作习惯,有些人可能更偏好简洁的列表,不希望被预览分散注意力。 这个 新特性的出现,引发了社区关于“编辑器应该提供何种程度的信息辅助”的讨论。 一位支持者指出,**“预览窗格消除了记忆负担”**。在大型代码库中,你不可能记住每个同名函数的具体参数。预览让你无需记住,只需辨认。这特别适合处理遗留代码或不熟悉的模块。 也有开发者表达了谨慎的担忧,他们觉得预览窗格可能增加 UI 的复杂性,分散对列表本身的注意力。他们对新增的“关闭预览”按钮表示欢迎,认为这是尊重用户选择权的体现。 在我看来,预览是“第二大脑”的延伸,项目符号选择器中的预览窗格,其重要性怎么强调都不为过。它代表了 IDE 类工具从 **“被动响应查询”** 向 **“主动辅助决策”** 的转变。 过去,工具负责“找到”信息,然后由用户的大脑负责“判断”和“整合”。预览窗格将“判断”这一步也前置到了工具中,让用户的大脑专注于更高层次的“创造”。这就像是在你的工作流中植入了一个微型代码审查员,在你做出选择之前,先帮你快速过目一遍候选者。 Zed 在这个功能上的实现,与其整体哲学一脉相承:**快,但不止于快**。它利用自身架构的优势,将预览加载的延迟降到最低,让这个“辅助决策”过程几乎感觉不到额外开销。这是 Zed 从一款纯粹的编辑器,向一个更智能的开发伙伴迈进的重要一步。 回到过去

优秀的个人博客,低调大师

OSCS开源安全周报第11期:本月微软补丁日修复 vscode 漏洞,请开发者留意自己使用的 vscode 是否受该漏洞影响

本周安全态势综述 OSCS 社区共收录安全漏洞27个,公开漏洞值得关注的是 golang net/url 路径穿越漏洞(CVE-2022-32190),Visual Studio Code <1.71.1 权限提升漏洞(CVE-2022-38020),gophish/gophish < 0.12.0 存在打开重定向漏洞(CVE-2022-25295)。 针对 NPM 、PyPI仓库,共监测到 4 次投毒事件,涉及 92 个不同版本的 NPM 、PyPI组件,投毒组件中绝大多数行为是尝试获取主机敏感信息。 重要安全漏洞列表 golang net/url 路径穿越漏洞(CVE-2022-32190) golang 的组件net/url实现了URL的解析处理和查询转义。 golang net/ur存在路径穿越漏洞,漏洞源于 net/url 的 JoinPath 函数不会删除附加的相对路径中的 ../ 元素,攻击者可能利用该漏洞访问系统敏感文件。 参考链接:https://www.oscs1024.com/hd/MPS-2022-17132 Visual Studio Code <1.71.1 权限提升漏洞(CVE-2022-38020) Visual Studio Code是一款代码编辑器。 Visual Studio Code v1.71.0 及更早版本中存在权限提升漏洞,漏洞源于Visual Studio Code加载配置文件时会自动加载windows共享用户在特殊目录创建的文件bash.exe。 在 Windows 上,低特权攻击者可以在特殊路径创建并覆盖bash.exe。Visual Studio Code检测到的配置文件会显示在终端配置文件列表中,可能导致恶意文件执行。 参考链接:https://www.oscs1024.com/hd/MPS-2022-53948 gophish/gophish < 0.12.0 存在打开重定向漏洞(CVE-2022-25295) Gophish 是一个为企业和渗透测试人员设计的开源网络钓鱼工具包。 此软件包的受影响版本容易受到 Open Redirect 的攻击。next查询参数中存在 Open Redirect 漏洞。应用程序用于url.Parse(r.FormValue("next"))提取路径并最终将用户重定向到相对 URL。 攻击者可能会成功发起网络钓鱼诈骗并窃取用户凭据。 参考链接:https://www.oscs1024.com/hd/MPS-2022-4362 *查看漏洞详情页,支持免费检测项目中使用了哪些有缺陷的第三方组件 投毒风险监测 OSCS针对 NPM 、PyPI仓库监测的恶意组件数量如下所示。 本周新发现 92 个不同版本的恶意组件,其中 100%的投毒组件为:获取主机敏感信息(获取了主机的用户名、IP 等敏感信息发送给恶意服务器) 其他资讯 黑客入侵 Magento 供应链攻击的软件供应商 https://www.bleepingcomputer.com/news/security/hackers-breach-software-vendor-for-magento-supply-chain-attacks/ 情报订阅 OSCS(开源软件供应链安全社区)通过最快、最全的方式,发布开源项目最新的安全风险动态,包括开源组件安全漏洞、事件等信息。同时提供漏洞、投毒情报的免费订阅服务,社区用户可通过配置飞书、钉钉、企业微信机器人,及时获得一手情报信息推送: https://www.oscs1024.com/?src=osc 具体订阅方式详见: https://www.oscs1024.com/docs/vuln-warning/intro/?src=osc

优秀的个人博客,低调大师

VSCode + Python 自制街霸 2 辅助工具(sf2_cheat)

## 前言 最近怀旧玩街霸 2,不管单机模拟器还是游聚平台,想快速打出连招经常手速跟不上。于是用 Python 写了个小工具 sf2_cheat,实现一键触发升龙、虎膝、苏联梅花大坐等招式,分享一下开发思路与踩坑记录。 > ⚠️ 声明:本项目仅用于个人编程学习、逆向与自动化技术研究;禁止用于线上对战作弊破坏游戏公平性,使用产生的一切后果由使用者自行承担。 ## 项目简介 项目名称:sf2_cheat 语言:Python 功能: 1. 支持一键触发升龙拳、虎膝、苏联梅花大坐等经典招式 1. 兼容单机街机模拟器,同时适配游聚对战平台 1. 底层模拟按键输出,不需要修改游戏本体文件 ## 核心实现思路 1. **按键时序模拟** 街霸招式本质是一串按键组合 + 固定延时。例如升龙需要「前→下→右下 + 拳」,难点在于按键按下、松开的时间窗口必须贴合模拟器输入帧。程序内部预定义好每套连招的按键序列与时间间隔,按下热键就自动按顺序模拟键鼠。 1. **热键监听** 使用全局热键库,后台持续监听自定义快捷键,不抢占模拟器窗口焦点。模拟器在前台运行时,按下绑定热键即可触发连招。 1. **跨平台适配调试** 单机模拟器输入响应快;游聚网络对战平台存在网络帧延迟,需要微调按键延时参数,才能稳定触发招式。这块调试花了不少时间,不同模拟器版本需要单独调参。 ## 关键代码片段(简化示例) ```javascript import keyboard import time # 升龙拳按键序列示例 def shoryuken(): keyboard.press('right') time.sleep(0.02) keyboard.press('down') time.sleep(0.02) keyboard.press('down+right') time.sleep(0.01) keyboard.press('j') time.sleep(0.08) keyboard.release('right') keyboard.release('down') keyboard.release('j') # 绑定热键 keyboard.add_hotkey('f1', shoryuken) print("sf2_cheat 已启动,F1触发升龙,按ESC退出") keyboard.wait('esc') ``` ## 开发踩坑记录 1. 延时参数很敏感:延时太长招式出不来,太短模拟器识别不到指令,需要反复测试。 1. 全局热键库部分杀毒软件会告警,属于模拟输入工具正常现象。 1. 游聚平台有输入校验,延时参数和单机模拟器不能共用,需要两套配置。 ## 程序界面 ![](https://developer.qcloudimg.com/http-save/audit-12771993/e4e299d0933d326ca3bfbe23a1a463dc.png) ## 总结 这个 sf2_cheat 项目,本质是学习全局键鼠模拟、时序控制的练手项目。通过这个小工具,熟悉了 Python 键鼠自动化、热键监听,也理解了街机游戏输入帧的原理。 再次提醒:**本项目仅限技术学习,请勿用于线上对战破坏公平**。

资源下载

更多资源
优质分享App

优质分享App

近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。

Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

用户登录
用户注册