vsCode 鼠标选中出现矩形框,变成正常

打开Visual Studio Code, 依次打开:
英文版:File --> Preformences --> Settings

中文版:文件 --> 首选项 --> 设置

然后输入搜索 Editor: Column Selection,取消选中
在这里插入图片描述
结果对比:
在这里插入图片描述

在这里插入图片描述

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要实现鼠标移入后矩形由下往上生长的效果,可以使用 VS Code 提供的扩展 API 中的 `window.createTextEditorDecorationType()` 方法创建一个文本编辑器装饰类型,再将其应用到编辑器中。 具体的步骤如下: 1. 在扩展的 `activate()` 方法中,使用 `window.createTextEditorDecorationType()` 方法创建一个文本编辑器装饰类型,指定其样式。例如,可以设置一个矩形的背景颜色、边框颜色和边框宽度等。 ```typescript const decorationType = vscode.window.createTextEditorDecorationType({ backgroundColor: 'rgba(255, 255, 255, 0.2)', borderColor: '#fff', borderWidth: '1px', borderStyle: 'solid' }); ``` 2. 在 `activate()` 方法中,注册一个鼠标移入事件监听器,使用 `TextEditor.onMouseMove()` 方法监听鼠标移动事件。在监听器中,获取鼠标所在的文本行号和列号,并使用 `TextEditorDecorationType` 的 `range` 属性设置装饰范围,即要添加装饰的位置和长度。 ```typescript let mouseMoveDisposable = vscode.window.onDidChangeTextEditorSelection(event => { let editor = vscode.window.activeTextEditor; if (!editor) { return; } let position = editor.selection.active; let line = editor.document.lineAt(position); let start = line.range.start; let end = new vscode.Position(start.line, start.character + 1); let range = new vscode.Range(start, end); let decoration = { range }; editor.setDecorations(decorationType, [decoration]); }); ``` 3. 在 `deactivate()` 方法中,取消注册鼠标移入事件监听器,防止内存泄漏。 ```typescript export function deactivate() { if (mouseMoveDisposable) { mouseMoveDisposable.dispose(); } } ``` 这样就可以实现鼠标移入后矩形由下往上生长的效果了。完整的示例代码如下: ```typescript import * as vscode from 'vscode'; let decorationType: vscode.TextEditorDecorationType; let mouseMoveDisposable: vscode.Disposable; export function activate(context: vscode.ExtensionContext) { decorationType = vscode.window.createTextEditorDecorationType({ backgroundColor: 'rgba(255, 255, 255, 0.2)', borderColor: '#fff', borderWidth: '1px', borderStyle: 'solid' }); mouseMoveDisposable = vscode.window.onDidChangeTextEditorSelection(event => { let editor = vscode.window.activeTextEditor; if (!editor) { return; } let position = editor.selection.active; let line = editor.document.lineAt(position); let start = line.range.start; let end = new vscode.Position(start.line, start.character + 1); let range = new vscode.Range(start, end); let decoration = { range }; editor.setDecorations(decorationType, [decoration]); }); } export function deactivate() { if (mouseMoveDisposable) { mouseMoveDisposable.dispose(); } } ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值