VSCode:activeTextEditor编码

2024-04-29

有什么方法可以在我的扩展代码中获取当前文档编码(位于底部栏中)?

就像是vscode.window.activeTextEditor.encoding


这似乎不可能。

由于几乎不可能证明是否定的,因此本答案的其余部分记录了我的探索内容。

字符串“encoding”不会出现(在这个意义上)在API docs https://code.visualstudio.com/api/references/vscode-api也不在索引.d.ts https://github.com/Microsoft/vscode/blob/master/src/vs/vscode.d.ts它源自的文件。 (使用 VSCode 1.37.1,截至撰写本文时为最新版本。)

我深入研究了vscode 来源 https://github.com/microsoft/vscode看看是否有一个聪明的解决方案,但一无所获。当用户更改编码时执行的代码位于editorStatus.ts https://github.com/microsoft/vscode/blob/master/src/vs/workbench/browser/parts/editor/editorStatus.ts,类 ChangeEncodingAction。这使得它的方式文本文件编辑器模型.ts https://github.com/microsoft/vscode/blob/master/src/vs/workbench/services/textfile/common/textFileEditorModel.ts,函数updatePreferredEncoding,设置preferredEncoding。该字段控制保存文件时发生的情况,并用于填充状态指示器,但不会去我能找到的其他任何地方。

读取状态指示器本身似乎是不可能的,因为 API 允许扩展使用以下命令创建新指示器window.createStatusBarItem https://code.visualstudio.com/api/references/vscode-api#window但不列举现有的。并且直接无法访问 DOM https://code.visualstudio.com/api.

我也空搜索了VSCode 问题 https://github.com/microsoft/vscode/issues与编码相关,包括开放式和封闭式,但仅浏览了最近的约 100 个封闭式问题标题。

备择方案

我此时的主要建议是在 VSCode github 上提交增强请求。

也应该可以做一些事情反射 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect但当然它会很脆弱。

最后,编码控制内存中的文档(字符序列)如何映射到磁盘上的文件(字节序列)。根据您尝试执行的操作,可能会以多种编码方式对文档进行推测性编码,并将每种编码与磁盘上的内容进行比较(只要文件不脏)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

VSCode:activeTextEditor编码 的相关文章

随机推荐

  • Laravel:从新的自定义目录加载自定义类

    我目前已在我的应用程序目录中为所有 库 添加了一个新文件夹 我不断收到找不到该类的错误 这就是我所做的 我已将其添加到composer json 文件中的自动加载值中 autoload classmap app commands app c
  • boost::bind、boost::function 和 boost::factory 的问题

    我尝试将 boost bind 与 boost factory 结合使用 但没有成功 我的 Zambas 类有 4 个参数 2 个字符串和 2 个整数 class Zambas public Zambas const std string
  • 如何在 PHP 中随机组合两个数组

    如何将两个数组组合成一个数组 我请求的方式是第三个组合数组应包含一个数组中的一个值和另一个数组中的下一个值 依此类推 或者 它可以是随机的 前任 arr1 1 2 3 4 5 arr2 10 20 30 40 50 和组合数组 arr3 1
  • 使用 numba 计算向量和矩阵中的行之间的余弦相似度

    找到了这个gist https gist github com FedericoV 0e7d6d8c8794a99a7a42使用 numba 快速计算余弦相似度 import numba numba jit target cpu nopyt
  • 重定向和引用者

    我的实际实现要复杂得多 需要身份验证和一堆其他东西 但以最简单的形式 这就是我遇到的问题 使用标头重定向不会将其自身显示为引用者 所以 假设我有三个页面 start php middle php 和 end php 启动 php a hre
  • 将ast节点转换为python对象

    给定一个ast可以自行计算的节点 但字面意义不够ast literal eval例如列表理解 src i 2 for i in range 10 a ast parse src Now a body 0 is an ast Expr and
  • Sql Server CTE“无法绑定多部分标识符。”

    我关于这个 cte 查询的最后一个问题很快就得到了回答 我想我会向你们这些 sql 专家提出下一个问题 如果我可以检查我的基本逻辑 然后显示我的代码和语法错误 任何帮助将不胜感激 我的股票交易系统有三个表 符号表 顾名思义 它是股票代码列表
  • 从相对路径读取文件

    我知道这个问题之前已经被问过 1000 次了 我确实尝试了所有解决方案 Java项目中如何从相对路径读取文件 java io File 找不到指定的路径 https stackoverflow com questions 3844307 h
  • npm 命令不显示任何输出或结果

    npm v 没有给出任何输出 https i stack imgur com 1Z5yf png 请参阅附图 我已经安装了node js 打开我的 git bash 后 如果我运行 node v 它会给我节点版本 但是在我写 npm v 后
  • 使用客户端证书身份验证连接到 Web 服务

    我得到了一个 p12 文件 用于使用客户端证书身份验证通过 SSL 连接到 Web 服务 我使用 cURL 在 PHP 中成功地工作了 这些是我在执行请求时使用的选项 headers array Method POST Connection
  • Angular2 CLI 构建异常:选择器“app-root”与任何元素都不匹配

    从头开始 安装节点 打字 角度 cli 并运行命令sudo ng new plzstart mobile创建项目 然后使用须藤构建 执行完后cd into plzstart 选择器 app root 不匹配任何元素 构建命令抛出以下异常 A
  • ORA-00972 标识符别名列名太长

    我有一个查询 例如 SELECT column as averyveryveryverylongalias more than 30 characters FROM Table name 它返回错误ORA 00972 标识符太长 有什么技巧
  • 什么是构建依赖项?

    构建依赖关系 中解释货物簿 https doc rust lang org cargo reference specifying dependencies html build dependencies 您可以依赖其他基于 Cargo 的板
  • 哪个 Haskell 计算机图形几何库?

    我想用 Haskell 做一些计算机图形学实验 这将包括进行一些几何计算并最终编写光线追踪器 我应该选择哪个库来轻松处理向量 矩阵及其相关操作 Hackage 上很少有包括像这样好看的vect http hackage haskell or
  • 我应该将 PHP include/require 语句放在 HTML 中的什么位置?

    我在文件中创建了一个 PHP 类 现在我想在 HTML 页面中使用它 我应该把它放在哪里require or includeHTML 页面内的声明 有没有表现在 HTML 的开头或结尾加载它之间的区别 还是根本没有区别 应该是在 PHP 脚
  • 我可以从 React Native 项目中删除 tvOS 吗?

    Eventually I will be submitting a react native app to the app store but the app will only run on iOS not tvOS Will I be
  • 如何将 pymongo.cursor.Cursor 转换为字典?

    我正在使用 pymongo 查询一个区域内的所有项目 实际上是查询地图上一个区域内的所有场馆 我用了db command SON 在搜索球形区域之前 它可以返回一本字典 字典中有一个名为results其中包含场馆 现在我需要在一个正方形区域
  • 在 ReportLab 中向画布元素添加超链接的最简单方法是什么?

    我正在使用 ReportLab 使用 Python 制作 pdf 我想向画布添加一个形状 并让该形状充当超链接 使以下示例中的矩形链接到 google com 的最简单方法是什么 from reportlab pdfgen import c
  • 处理变量的范围:内部循环

    作为一名直接进入 Go 的 JS 开发者 如果长度超过commits不止一个 我没有太多时间来完成这件事 而且我搜索的时间比我希望的要长 关于如何重组它或让它发挥作用有什么想法吗 case github PushPayload push p
  • VSCode:activeTextEditor编码

    有什么方法可以在我的扩展代码中获取当前文档编码 位于底部栏中 就像是vscode window activeTextEditor encoding 这似乎不可能 由于几乎不可能证明是否定的 因此本答案的其余部分记录了我的探索内容 字符串 e