slot deposit pulsa slot mahjong slot gacor slot gacor slot gacor resmi slot gacor 2025 slot gacor terpercaya slot gacor 2025 slot gacor hari ini slot gacor hari ini slot gacor hari ini
Visual Studio Code 把自身源代码迁移到 ECMAScript 模块
17611538698
webmaster@21cto.com

Visual Studio Code 把自身源代码迁移到 ECMAScript 模块

开源 0 1429 2024-09-07 07:42:00

图片

微软于近日发布广泛使用的程序员编辑器和轻量级 IDE Visual Studio Code(VS Code)1.93 版本。

这个版本除了常见的大量新功能外,微软的开发团队还表示已完成采用 ESM(ECMAScript 模块)取代旧版 AMD(异步模块定义)标准的大部分工作。

关于ESM

ESM 是现代浏览器的原生标准,但 AMD 早于 ESM 的长期标准。

微软工程师 Benjamin Pasero 对此称道,“我们现在能够使用构建标志构建 VS Code 的 ESM 变体,该标志将运行迁移脚本。”此脚本将源代码(TypeScript)转换为 ESM 兼容格式。

Pasero 表示,目标是“在 9 月推出支持 ESM 的 Insiders,并在 10 月推出稳定版”,其中 Insiders 是 VS Code 的预发布版本,比稳定版提前一个月左右发布。 

这种方法操作会比较谨慎。如果 ESM 构建存在问题,我们将有办法将代码转换回 AMD。如果 10 月的稳定版本没有出现重大问题。

“我们将开始从我们的源代码中删除 AMD 痕迹,并删除将 VS Code 构建为 AMD 的选项,”Pasero 继续说道。

虽然此次迁移的目标是对开发人员来说基本不可见,但这个大型代码库和主要项目进行此次迁移具有重要意义,可能有助于加速缓慢的 ESM 普遍性采用。

SQL提示相关修复

1.93 版(也称为 8 月版本)的一个有趣功能是,它包含一个修复程序,用于修复将 SQL Server 语言错误地描述为 SQL 语句的问题。VS Code 是微软的产品,也是开源代码 OSS 的发行版,尽管它在许多语言和平台上都很受欢迎,但在某些领域,Microsoft 特定的默认值或功能可能会更令开发者困惑。

其中之一就是 SQL(结构化查询语言),VS Code 的语法高亮功能并不总是能像预期的那样处理带有 .sql 扩展名的文件。上周的一个代码例子就是这个问题:“SQL 格式没有高亮‘qualify’语句。”

问题以“按设计”结束,正像微软高级软件工程师 Charles Gagnon所述,“VS Code 已采用 MS SQL (T-SQL) 语法作为基本‘sql’语法。” T-SQL 代表 Transact SQL,是 Sybase 和微软为 SQL Server 开发的 SQL 扩展。PostgreSQL 有自己的语言扩展,Oracle SQL、MySQL、SQLite 等也有自己的语言扩展。

VS Code 1.93 中还有一个小小变化,即 T-SQL 现在被正确描述为 MS SQL,当使用默认设置打开 .sql 文件时,右下角会显示该信息。以前它只是显示 SQL。跟从前一样,单击此标识符或安装一个可以理解正在使用的 SQL 方言的扩展,然后就可以更改文件关联了。

配置文件改进

1.93 版本中还有不少功能。其中之一是配置文件编辑器的改进用户界面(之前是实验性的)现在默认启用了。配置文件允许开发人员配置设置、扩展、视图布局、键绑定、代码片段和任务,将它们保存在配置文件名称下,并在不同类型的工作区间切换配置文件。 

Django优化

Python的Django开发人员会很高兴地发现,现在可以通过 VS Code 测试资源管理器发现并运行 Django 单元测试。

此功能于 2017 年首次被要求到现在,表明解决问题的过程可能很漫长。

智能编码进一步改进

VS Code 的浏览器托管版本已通过 IntelliSense 软件包进行了改进,这意味着导入的软件包(例如 react)会弹出文档和代码完成。

微软还为 JavaScript 和 TypeScript 项目实现了完整的 IntelliSense,这意味着“转到定义”和“查找所有引用”现在可以按预期地工作。

也就是说,此功能仅适用于 Chrome、Edge 和 Firefox这些主流浏览器;由于需要名为 ReadableByteStreamController 的浏览器 API,因此不支持 Apple 的 Safari浏览器——比如,对于使用 iPad 工作的开发人员来说,这可能是个坏消息。

新的JS增强特性

对于 JavaScript 开发人员来说,一个方便的功能是新的实验性网络视图,用于显示请求和响应,该视图非常适用于浏览器会话,并且在一定程度上适用于 Node.js 22.6 及更高版本。

不过存在一个警告,使用 Node 时需要在启动 Node 时使用 –experimental-network-inspection 标志,即便如此,“Node 的网络实现仍处于非常早期的阶段,有关请求和响应的大多数数据尚不可用。”

好了,今天是周末,祝大家开心编码!

作者:聆听音乐的鱼

评论