首页 > 其他分享 >【保姆级VSCode 插件开发之实现语音转文字其一】

【保姆级VSCode 插件开发之实现语音转文字其一】

时间:2024-09-04 21:53:35浏览次数:13  
标签:文件 插件 const VSCode 笔记 vscode 保姆

保姆级VSCode 插件开发

第一章 VSCode 插件开发入门之语音转文字记录


文章目录


前言

本篇文章主要介绍开发一个VSCode插件实现语音转文字记录笔记的功能。之前听到一个比较好课,想看逐字稿,就想着找个实时语音转文字的工具。在浏览器插件中搜了一下,没有好用的。还特意买了一个印象笔记的语音转文字笔。这次刚好发现VSCode官方提供了一个VS Code Speech的插件,可以实现实时语音转文字的功能。可以将创建文件和调用API结合起来,实现语音转文字记笔记的功能。本节先实现新文件的创建。下一节加入语音转文字功能的API调用。


一、创建新笔记文件

1.生成新项目框架

	yo code

请参照保姆级VSCode 插件开发之创建第一个插件项目

2. 创建新笔记文件

  • 生成唯一文件名: 使用 new Date().toISOString().replace(/[-:.]/g, '') 生成一个基于当前时间的唯一字符串,并将其作为文件名的一部分。

  • 使用 preview: false 参数: 在 vscode.window.showTextDocument(document, { preview: false }) 中使用 preview: false 参数,确保新文件不会覆盖之前打开的文件,而是作为一个新的标签页打开。

  • 代码:extension.ts

import * as vscode from 'vscode';
import * as path from 'path';

export function activate(context: vscode.ExtensionContext) {
    console.log('Congratulations, your extension "noteCreator" is now active!');

    let disposable = vscode.commands.registerCommand('noteCreator.createNote', async () => {
        // 检查工作区文件夹
        const workspaceFolders = vscode.workspace.workspaceFolders;
        if (!workspaceFolders) {
            vscode.window.showErrorMessage('No workspace folder is open');
            return;
        }

        // 获取第一个工作区文件夹的路径
        const workspaceFolder = workspaceFolders[0].uri.fsPath;

        // 生成唯一文件名
        let timestamp = new Date().toISOString().replace(/[-:.]/g, '');
		timestamp = timestamp.replace(/[A-Za-z]/g, ''); // 去掉字母,仅保留数字
        const fileName = `note_${timestamp}.txt`;

        // 定义新笔记文件的路径
        const noteUri = vscode.Uri.file(path.join(workspaceFolder, fileName));

        // 创建新笔记文件的内容
        const writeData = Buffer.from("This is your new note. Start writing here...", 'utf8');

        // 将内容写入新笔记文件
        await vscode.workspace.fs.writeFile(noteUri, writeData);

        // 打开新笔记文件进行编辑
        const document = await vscode.workspace.openTextDocument(noteUri);
        await vscode.window.showTextDocument(document, { preview: false });
    });

    context.subscriptions.push(disposable);
}

export function deactivate() {}

3. package.json注册命令

注册命令

4. 效果展示

如下图所示。
在这里插入图片描述


总结

今天的主要内容是实现笔记文件的创建,下一次完善语音输入功能。

标签:文件,插件,const,VSCode,笔记,vscode,保姆
From: https://blog.csdn.net/XWWW668899/article/details/141870258

相关文章

  • vscode launch.json 模板备忘
    {//UseIntelliSensetolearnaboutpossibleattributes.//Hovertoviewdescriptionsofexistingattributes.//Formoreinformation,visit:https://go.microsoft.com/fwlink/?linkid=830387"version":"0.2.0",&quo......
  • VSCode 配置
    vscode配置{"editor.minimap.enabled":false,"editor.fontSize":18,"editor.tabSize":2,"json.maxItemsComputed":500000,"debug.console.fontSize":18,"debug.onTaskErrors":"abor......
  • 这个桌面插件真的酷!该有的都有了!改造桌面必备神器
    这个桌面插件真的酷!该有的都有了!改造桌面必备神器。一个好用的桌面插件可以给我们提供很多的方便,给自己桌面打扮一下,定制一个自己喜欢的桌面插件,让桌面变得更美观实用!如何给桌面添加一个实用的插件?跟着小编一起来看下:首先,可以通过互联网找到“芝麻桌面美化”,然后下载安装......
  • VSCode Webview 插件开发的模板的踩坑记录
    问题CSP:refusedxxxxxx常见的几类报错(打开开发者工具,在控制台就会自动输出)refusedtoapplyinlinestylebecauseitviolatesthefollowingContentSecurityPolicydirectivexxxxxxrefusedtoloadthescript''becauseitviolatesthefollowingContentSecuri......
  • 子比主题美化 – 自助售卡/发卡插件 源码 | WordPress插件,完美支持
    插件功能支持自由添加卡密支持查看卡密库存邮箱自动发送卡密信息后台卡密库存不足提醒如何使用:在后台新建一篇文章,然后选择自动售卡。设置相关价格(不支持将价格设置为0)。移动到已编辑文章的底部(添加密码信息)直接发布文章以显示文章销售卡。安装方法:在Wordpress后......
  • 推荐一款:简单、易懂、功能强大的Vue3可拖拽插件
    第一步:安装npm使用以下命令安装npminstallvue-grid-layout--saveyarn使用以下命令安装yarnaddvue-grid-layout第二步:配置全局变量import{createApp}from'vue'importAppfrom'./App.vue'importVueGridLayoutfrom'vue-grid-layout'//引入layout......
  • Kubernetes学习指南:保姆级实操手册04——主机系统初始化
    四、Kubernetes学习指南:保姆级实操手册04——主机系统初始化前言:本章节主要内容是对主机操作系统的初始化操作,如发另外标注,所有的节点操作步骤一致,可以使用软件批量初始化。1.检查系统端口确保以下端口未被占用:运行后未有任务显示,表示端口未被占用。[root@k8s-master01~]#ss-......
  • Kubernetes学习指南:保姆级实操手册05——配置集群HA负载均衡
    五、Kubernetes学习指南:保姆级实操手册05——配置集群HA负载均衡简介:Keepalived提供VRRP实现,并允许您配置Linux机器使负载均衡,预防单点故障。HAProxy提供可靠、高性能的负载均衡,能与Keepalived完美配合1、配置Keepalive官方文档提供了两种运行方式(此案例使用选项1):选项1:在......
  • ‌AI带货直播插件:功能与实现‌!
    随着人工智能技术的飞速发展,AI带货直播插件已成为电商领域的新宠,这类插件通过集成先进的人工智能技术,不仅提升了直播的效率和互动性,还大大增强了用户体验和转化率,本文将详细介绍AI带货直播插件的主要功能,并分享七段关键源代码。一、AI带货直播插件的主要功能1、自动播放与内容生成(......
  • vscode 找不到 NETFramework,Version=v4.7.1 报错,简单解决办法
    当我们用vscode开发时,会发现有这样的报错:Thereferenceassembliesforframework“.NETFramework,Version=v4.7.1”werenotfound.Toresolvethis,installtheSDKorTargetingPackforthisframeworkversionorretargetyourapplicationtoaversionofthef......