2018-11-06 Visual Studio Code插件-英汉词典初版发布

VS插件市场地址: 英汉词典 - Visual Studio Marketplace

开源在: program-in-chinese/vscode_english_chinese_dictionary

如题图, 在VS Code插件页中搜索"英汉词典", 即可安装. 之后如果继续开发相关插件, 也会以"中文编程"作者发布.

在编辑器中选中任何英文词/短语, 如果在词典中有匹配词条, 就在状态栏显示所有释义和词形. 为尽量确保状态条不会过长而被IDE自动隐藏, 当释义/词形过长时, 仅截取前半部分在状态栏显示, 点击状态可见所有信息(如简介中的演示). 如果原选中词查不到, 会查全小写, 若再查不到, 最后查全大写. 下面是查询短语:

作为在IDE中实现源码翻译的先行项目, 采用了浏览器插件-离线英汉词典 0.0.7类似方案. 参考了官网的状态栏例子, 开发过程比想象中的更短一些.

由于没有找到加载JSON文件的方法, 直接将浏览器插件中的JSON文件改为JS (40MB释义数据, 3MB词形变化数据), 仍在插件加载时载入所有数据, 本机也是几秒. 后续查词感觉没什么性能问题.

暂时想到的改进方向:

  1. 由于源代码中的命名往往是驼峰或下划线格式, 而双击选中文本往往选中整个命名, 考虑翻译整个命名. 这与浏览器插件的此issue相关: 按照词性改进命名翻译 · Issue #9 · program-in-chinese/webextension_github_code_translator. (已实现: VS Code英汉词典插件v0.0.4-驼峰下划线命名)
  2. 在状态栏选取词义时, 选取代表性词义, 而不仅截取前部分(也已实现: . 比如"hide", 全部释义是"n. 兽皮, 迹象, 躲藏处 vt. 藏, 隐瞒, 遮避, 剥...的皮, 隐藏 vi. 躲藏 [计] 隐藏". 状态栏现在显示:
n. 兽皮, 迹象, 躲藏处 vt. 藏, 隐瞒, 遮避,...

改成这样也许更合适:

n. 兽皮 vt. 藏 vi. 躲藏 [计] 隐藏 ...

最后照例贴段源码, 由于载入词典和查词部分与浏览器插件很接近, 只选取了IDE相关操作部分(监听选中文本事件, 根据文本进行查词). 代码还需加工.

function activate(context) {
    const window = vscode.window;
    const StatusBarAlignment = vscode.StatusBarAlignment;
    const workspace = vscode.workspace;
    const commands = vscode.commands;

    const 状态框 = window.createStatusBarItem(StatusBarAlignment.Right, 100);
    状态框.command = 'extension.翻译选中文本';
    context.subscriptions.push(状态框);

    context.subscriptions.push(window.onDidChangeActiveTextEditor(e => 更新状态栏(状态框)));
    context.subscriptions.push(window.onDidChangeTextEditorSelection(e => 更新状态栏(状态框)));
    context.subscriptions.push(window.onDidChangeTextEditorViewColumn(e => 更新状态栏(状态框)));
    context.subscriptions.push(workspace.onDidOpenTextDocument(e => 更新状态栏(状态框)));
    context.subscriptions.push(workspace.onDidCloseTextDocument(e => 更新状态栏(状态框)));

    context.subscriptions.push(commands.registerCommand('extension.翻译选中文本', () => {
        // TODO: 避免重复查询(状态框查询一次即可?)
        let 文本 = 取选中文本();
        if (文本) {
            window.showInformationMessage(显示词条(查询词条(文本), 1000));
        }
    }));

    更新状态栏(状态框);
}

function 更新状态栏(状态框) {
    let 文本 = 取选中文本();
    if (文本) {
        状态框.text = '$(megaphone) ' + 显示词条(查询词条(文本), 30);
        状态框.show();
    } else {
        状态框.hide();
    }
}

function 取选中文本() {
    const 当前编辑器 = vscode.window.activeTextEditor;
    const 选中部分 = 当前编辑器.selection;
    return 当前编辑器.document.getText(选中部分);
}

欢迎尝鲜和反馈.



后续版本介绍:

VS Code英汉词典v0.0.8: 批量翻译文件部分命名

VS Code英汉词典插件v0.0.7-尝试词性搭配

VS Code英汉词典插件v0.0.6-改为TS实现, 加测试

VS Code英汉词典插件v0.0.4-驼峰下划线命名

原文地址:https://www.cnblogs.com/program-in-chinese/p/10504078.html

时间: 2024-09-30 22:55:54

2018-11-06 Visual Studio Code插件-英汉词典初版发布的相关文章

Visual Studio Code插件

Visual Studio Code插件 https://www.cnblogs.com/clwydjgs/p/10078065.html 写在前面 在前端开发中,有一个非常好用的工具,Visual Studio Code,简称VS code. 都不用我安利VS code,大家就会乖乖的去用,无数个大言不惭的攻城狮,都被VS code比德芙还丝滑的强大功能所折服. 我是来给大家安利插件的,想做个比较全面的插件集合给大家.网上的我也看过一些,但是都比较零散,时间也久了一些,我结合最近的情况,总结一

安装GO语言环境之安装Visual Studio Code插件

在安装Visual Studio Code插件的时候,由于谷歌的限制,在下载下列插件的时候会报错: go get -u -v github.com/nsf/gocode go get -u -v github.com/rogpeppe/godef go get -u -v github.com/golang/lint/golint go get -u -v github.com/lukehoban/go-find-references go get -u -v github.com/lukeho

Visual Studio Code 插件推荐

Visual Studio Code 插件推荐 下载插件方法, 点击左侧最下面一个图标(  扩展  ),输入想要搜索的插件,下载,按提示安装重启VS 即可. 1  HTML代码提示插件 HTML Snippets, 2  HTML CSS 插件 HTML CSS Support  这个支持H5C3 3  浏览器插件 Open in browser  这个打开浏览器的快捷键是alt+b 或者自己在插件搜索browser 4  HTML标签首尾自动补全插件 Auto Rename Tag 5 代码格

[1/20] Visual Studio Code 插件整理

Visual Studio Code 插件整理 更新时间:2020年3月2日 Python Python编程必装 Chinese (Simplified) Language Pack 中文语音包 markdownlint Markdown格式检查 Markdown Preview Enhanced Markdown预览加强,集成了PanDoc,功能更加强. 有中文文档,推荐! 原文地址:https://www.cnblogs.com/j44p5/p/12398076.html

实用的Visual Studio Code插件

1.vscode-color-highlight------颜色代码高亮插件.(sublime text也有) 2.vscode-Open in Browser------右键在浏览器打开.(sublime text也有) 3.vscode-Path Intellisense------文件路径提示.(sublime text也有) 4.vscode-JS-CSS-HTML Formatting------js-css-html格式化.(sublime text也有) 5.vscode-Visu

30个极大提高开发效率的Visual Studio Code插件

译者按: 看完这篇文章,我打算从 Sublime Text 转到 Visual Studio Code 了! 原文: Immensely upgrade your development environment with these Visual Studio Code extensions 译者: Fundebug 为了保证可读性,本文采用意译而非直译.另外,本文版权归原作者所有,翻译仅用于学习. 我们的 VSC(VSCode)将会像一个长了五只可以发射激光的独角兽一样!接下来会介绍我每天使用

吐血推荐珍藏的Visual Studio Code插件

作为一名Java工程师,由于工作需要,最近一个月一直在写NodeJS,这种经历可以说是一部辛酸史了.好在有神器Visual Studio Code陪伴,让我的这段经历没有更加困难.眼看这段经历要告一段落了,今天就来给大家分享一下我常用的一些VSC的插件. VSC的插件安装方法很简单,只需要点击左侧最下方的插件栏选项,然后就可以搜索你想要的插件了. 下面我们进入正题 Material Theme 第一个是Material Theme,这个插件可以帮助我们修改主题色,帮助你摆脱只有黑色和白色的世界.

使用Visual Studio Code开发.NET Core看这篇就够了

原文:使用Visual Studio Code开发.NET Core看这篇就够了 作者:依乐祝 原文地址:https://www.cnblogs.com/yilezhu/p/9926078.html 在本文中,我将带着大家一步一步的通过图文的形式来演示如何在Visual Studio Code中进行.NET Core程序的开发,测试以及调试.尽管Visual Studio Code的部分功能还达不到Visual Studio的水平,但它实际上已经足够强大来满足我们的日常开发.而且其轻量化,插件化

visual studio code中使用emmet插件在.vue文件失效

使用visual studio code编辑.vue文件时,emmet插件无法使用,可以通过以下两种试解决: 1.文件→设置,在右侧窗口添加以下代码: "emmet.syntaxProfiles": { "vue-html": "html", "vue": "html" } 2.在.vue文件窗口的右下角,点击"vue"(提示信息:选择语言模式),然后选择".vue"