登录 用户中心() [退出] 后台管理 注册
   
您的位置: 首页 >> CLQ工作室开源代码 >> 主题: [开小坑]新项目 VScode 插件 CodeLine 及一些小知识     [回主站]     [分站链接]
标题
[开小坑]新项目 VScode 插件 CodeLine 及一些小知识
clq
浏览(94) + 2024-09-22 19:02:16 发表 编辑

关键字:

[2024-09-28 17:08:50 最后更新]
[开小坑]新项目 VScode 插件 CodeLine 及一些小知识

为啥百忙之中还要开发一个 vscode 插件?

答案是,就是因为实在是太忙了,感觉 vscode 配合我心爱的 golang 好是好用,就是开发效率实在是比不上当年的 delphi 。
当然了毕竟 delphi 是 rad 不可同日而语的,但我这几日想了一下,其实可以扩展一下 vscode 让它的开发效率接近 delphi 的,我给它取名 VScodeAsDelphi 。好吧,暂时还是开玩笑。
不过目标确实是这样的:用类似 delphi 的界面开发界面,用 vscode 来写代码,所以就需要一个工具要能在界面中像 delphi 双击控件一样跳转到事件代码上 -- 这了就是我们这个插件要做的内容,
接收一个命令然后在 vscode 中打开指定的位置。为了更高的兼容性我决定这个交互接口是 socket 或者 udp/http 这样最简单的方式,传输 json 就好了。

很显然这是个小工具,再说了保不齐哪天 vscode 也被取代了呢? 所以粘性不用做得那么高。 好了,下面都是些 vscode 插件开发的知识,有兴趣的网友也可以看看。

--------------------------------------------------------
更新:
插件已发布,在 vscode 中搜索 CodeLine 即可。发布时要求一个 github 链接,所以顺便传到 github 上了。总的来说开发比较简单,配置比较啰嗦。

https://github.com/clqsrc/CodeLine

--------------------------------------------------------
vscode 插件其实并不难,很早以前我就写过了,主要是一个代码位置回退的功能 ... 对现在官方直接有了,所以就没有更开发了。
原理其实也比较简单,就是一段 js 代码,然后就是要引用一些不太好引用的“头文件”,我x麻烦,是直接手写的 js ,如今芝有更简单的方法。

1.安装最新的 nodejs ,我用的压缩版本,因为我要用的版本很多,安装版会很麻烦。官网经常 go die 所以可以去清华下载。
https://mirrors.tuna.tsinghua.edu.cn/nodejs-release/
不过我是 https://www.jb51.net/softs/851360.html

不能用老版本,因为有此依赖库不支持。

2.npm 一般情况下肯定是用不了的,所以得改服务器 。
淘宝的加速已经改到 https://registry.npmmirror.com/ 了。
我强烈建议不要用 cnpm 会有问题,用以下标准命令就好了

npm config set registry https://registry.npmmirror.com

3.安装我说的现在很方便的插件开发工具
安装 Yeoman 和 VSCode 扩展生成器

我在这里有个 ai 也解决不了的小坑,我在 yo code 中选择的实现是 ts 而不是 js 所以在调试时一直过不去。原因是要编译为 js ,另外运行时选择可以方便的选择 vscode 扩展类型,会很方便的的开启一个新 vscode 并自动加载这个开发中的插件。
插件并不会自己启动,要看你 activationEvents 设置了什么。总的来说代码其实很简单,在工具生成的模板的 activate 函数中加入自己的功能模块就行了。这个就不细说了,相关文章很多。


npm install -g yo generator-code

创建插件项目:
运行以下命令:

yo code

yo code 后的结果如下
--------------------------------------------------------
Your extension codeline has been created!

To start editing with Visual Studio Code, use the following commands:

code codeline

Open vsc-extension-quickstart.md inside the new extension for further instructions
on how to modify, test and publish your extension.

For more information, also visit http://code.visualstudio.com and follow us @code.

--------------------------------------------------------
对于您提到的功能,可以考虑以下实现方式:
跳转到任意文件的任意行:
使用 VSCode API 中的 vscode.workspace.openTextDocument() 和 vscode.window.showTextDocument() 方法打开文件
使用 editor.revealRange() 方法跳转到指定行
接受 socket 请求:
使用 Node.js 的 net 模块创建 socket 服务器
在接收到请求时,调用相应的 VSCode API 执行操作
如果您需要更详细的代码示例或有其他具体问题,请随时告诉我。


--------------------------------------------------------
插件不能直接在这个项目中运行,要在 codeline 中,并且只能用 vscode 打开。现在还不能在 Cursor 中运行。

另外在 yo code 中选择的是 ts 项目,所以要先编译,命令为:
npm run compile


--------------------------------------------------------
插件可能没有激活,要查看 package.json 中的 activationEvents 是否包含 * (或者其他),如果没有,则要手动添加。

















总数:0 页次:1/0 首页 尾页  
总数:0 页次:1/0 首页 尾页  


所在合集/目录
vscode 更多



发表评论:
文本/html模式切换 插入图片 文本/html模式切换


附件:



NEWBT官方QQ群1: 276678893
可求档连环画,漫画;询问文本处理大师等软件使用技巧;求档softhub软件下载及使用技巧.
但不可"开车",严禁国家敏感话题,不可求档涉及版权的文档软件.
验证问题说明申请入群原因即可.

Copyright © 2005-2020 clq, All Rights Reserved
版权所有
桂ICP备15002303号-1