标签 VSCode 下的文章

CentOS 项目负责人宣布离任

自 2004 年以来,一直担任 CentOS 项目负责人的 Karanbir Singh,前两天已在个人官网上 宣布离职。他说,“在过去 17 年里,我有机会从社区学到了很多,也希望能够给予了社区一些回馈。”在最近一次的 CentOS 董事会上 已经接受 了他的离任,并立即生效。有媒体认为,其离职似乎与 CentOS 改为 Stream 的变化有关。CentOS Linux 8 将在今年年底结束支持。

老王点评:已经完成了自己的使命,是时候该离开了。感谢你这么多年的付出!

微软推出可在浏览器中运行的 VS Code

本周三,微软 正式发布 了可完全在浏览器中运行的轻量级 VS Code: https://vscode.dev/ 。这意味着开发者无需安装,即可在基于浏览器的开发环境中,打开本地机器上的一个文件夹并开始工作。它可在 Chromebook 等低性能设备上轻松编程,还内置了对 GitHub 存储库和 Azure 存储库的支持。

老王点评:其实并不令人意外,VS Code 本身就是基于 V8 引擎的。不过这样做的话,还是会很方便。

投资者利用 AI 分析 CEO 们的讲话

在 2020 年底,IT 行业的一些高管在讨论供应链中断的时候,淡化了半导体芯片短缺的可能性。他们说,一切都很好。然而,根据一项旨在发现隐藏在口语中的线索的 算法分析,他们讲话的语气显示出高度不确定性。在这些言论发表后的几个月内,芯片严重短缺冲击了相关产品的产量。一些投资者认为这种自然语言处理技术是获得超越对手优势的一种新工具。

老王点评:我想 AI 技术会越来越用在你所意想不到的地方,很多线索将无所遁形。

Adobe 结束了对 Brackets 代码编辑器的支持,坚持让用户迁移到微软的 Visual Studio Code。不过,还好总还算是留下了一个复刻。

Brackets 是一个令人印象深刻的现代开源代码编辑器,可用于 Windows、macOS 和 Linux。

Adobe 以一个社区引导的项目的形式创建了它,来帮助 Web 开发者。我们之前把它列为 可供编程人员使用的最佳现代文本编辑器 之一。

不幸的是,Adobe 在 2021 年 9 月 1 日结束了对 Brackets 的支持。

为什么 Adobe 停用了 Brackets?

看起来可能是 Adobe 与微软的合作关系促使他们拔掉了这个社区项目的插头。

因此,他们建议用户迁移到微软的 Visual Studio Code 编辑器。

这是 Brackets 项目中止后 GitHub 的原始页面上的内容。

Visual Studio Code 作为 Brackets 的替代品

当然,微软的 Visual Studio Code 是一个很好的替代品,而且建立在开源的基础上。然而,当你从他们的网站上下载 Visual Studio Code 时,它并不在一个促进自由和开源软件的许可证之下。

因此,你可能不得不从源代码构建,或者尝试 VSCodium,这是一个没有遥测/跟踪功能的 Visual Studio Code 的自由许可版本。

另外,有一个 关于从 Brackets 迁移的官方指南,如果你感兴趣,可以去看看。

Brackets 将继续以没有 Adobe 的复刻出现

尽管 Adobe 已经停止了这个项目,但 原网站 仍然存在,以维持这个项目的复刻。

该项目名称可能会改变,但从目前来看,它叫 “Brackets Continued”,以帮助用户识别该复刻。

请注意,这个复刻项目还没有发布,我们也不知道它是否会作为一个独立的项目继续下去。

所以,如果你想帮助 Brackets 复刻,并以某种方式帮助维护它,请前往其 GitHub 页面了解更多细节。

你喜欢用什么作为你的代码编辑器?你喜欢用 Brackets 代码编辑器进行 Web 开发工作吗?欢迎在评论中分享你的想法。


via: https://news.itsfoss.com/adobe-kills-brackets-editor/

作者:Ankush Das 选题:lujun9972 译者:wxy 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

一致性可以避免当你有多个开发人员开发同一个项目时出现问题。

 title=

当你有多个不同开发环境的开发人员在一个项目上工作时,编码和测试的不一致性是一种风险。Visual Studio Code(VS Code)是一个集成开发环境(IDE),可以帮助减少这些问题。它可以和容器结合起来,为每个应用程序提供独立的开发环境,同时提供一个一致的开发环境。

VS Code 的 “Remote - Containers” 扩展 使你能够创建一个容器定义,使用该定义来构建一个容器,并在容器内进行开发。这个容器定义可以和应用程序代码一起被签入到源代码库中,这使得所有的开发人员可以使用相同的定义在容器中进行构建和开发。

默认情况下,“Remote - Containers” 扩展使用 Docker 来构建和运行容器,但使用 Podman 的容器运行环境环境也很容易,它可以让你使用 免 root 容器

本文将带领你完成设置,通过 Podman 在免 root 容器内使用 VS Code 和 “Remote - Containers” 扩展进行开发。

初始配置

在继续之前,请确保你的红帽企业 Linux(RHEL)或 Fedora 工作站已经更新了最新的补丁,并且安装了 VS Code 和 “Remote - Containers” 扩展。(参见 VS Code 网站了解更多安装信息)

接下来,用一个简单的 dnf install 命令来安装 Podman 和它的支持包:

$ sudo dnf install -y podman

安装完 Podman 后,配置 VS Code 以使用 Podman 的可执行文件(而不是 Docker)与容器进行交互。在 VS Code 中,导航到 “文件 > 首选项 > 设置”,点击 “扩展” 旁边的 “>” 图标。在出现的下拉菜单中,选择 “Remote - Containers”,并向下滚动找到 “Remote - Containers: Docker Path” 选项。在文本框中,用 “podman” 替换 “docker”。

 title=

现在配置已经完成,在 VS Code 中为该项目创建一个新的文件夹或打开现有的文件夹。

定义容器

本教程以创建 Python 3 开发的容器为例。

“Remote - Containers” 扩展可以在项目文件夹中添加必要的基本配置文件。要添加这些文件,通过在键盘上输入 Ctrl+Shift+P 打开命令面板,搜索 “Remote-Containers: Add Development Container Configuration Files”,并选择它。

 title=

在接下来的弹出窗口中,定义你想设置的开发环境的类型。对于这个例子的配置,搜索 “Python 3” 定义并选择它。

 title=

接下来,选择将在容器中使用的 Python 的版本。选择 “3 (default)” 选项以使用最新的版本。

 title= option")

Python 配置也可以安装 Node.js,但在这个例子中,取消勾选 “Install Node.js”,然后点击 “OK”。

 title=

它将创建一个 .devcontainer 文件夹,包含文件devcontainer.jsonDockerfile。VS Code 会自动打开devcontainer.json 文件,这样你就可以对它进行自定义。

启用免 root 容器

除了明显的安全优势外,以免 root 方式运行容器的另一个原因是,在项目文件夹中创建的所有文件将由容器外的正确用户 ID(UID)拥有。要将开发容器作为免 root 容器运行,请修改 devcontainer.json 文件,在它的末尾添加以下几行:

"workspaceMount": "source=${localWorkspaceFolder},target=/workspace,type=bind,Z",
"workspaceFolder": "/workspace",

"runArgs": ["--userns=keep-id"],
"containerUser": "vscode"

这些选项告诉 VS Code 用适当的 SELinux 上下文挂载工作区,创建一个用户命名空间,将你的 UID 和 GID 原样映射到容器内,并在容器内使用 vscode 作为你的用户名。devcontainer.json 文件应该是这样的(别忘了行末的逗号,如图所示):

 title=

现在你已经设置好了容器的配置,你可以构建容器并打开里面的工作空间。重新打开命令调板(用 Ctrl+Shift+P),并搜索 “Remote-Containers: Rebuild and Reopen in Container”。点击它,VS Code 将开始构建容器。现在是休息一下的好时机(拿上你最喜欢的饮料),因为构建容器可能需要几分钟时间:

 title=

一旦容器构建完成,项目将在容器内打开。在容器内创建或编辑的文件将反映在容器外的文件系统中,并对这些文件应用适当的用户权限。现在,你可以在容器内进行开发了。VS Code 甚至可以把你的 SSH 密钥和 Git 配置带入容器中,这样提交代码就会像在容器外编辑时那样工作。

接下来的步骤

现在你已经完成了基本的设置和配置,你可以进一步加强配置的实用性。比如说:

  • 修改 Dockerfile 以安装额外的软件(例如,所需的 Python 模块)。
  • 使用一个定制的容器镜像。例如,如果你正在进行 Ansible 开发,你可以使用 Quay.ioAnsible Toolset。(确保通过 Dockerfile 将 vscode 用户添加到容器镜像中)
  • .devcontainer 目录下的文件提交到源代码库,以便其他开发者可以利用容器的定义进行开发工作。

在容器内开发有助于防止不同项目之间的冲突,因为隔离了不同项目的依赖关系及代码。你可以使用 Podman 在免 root 环境下运行容器,从而提高安全性。通过结合 VS Code、“Remote - Containers” 扩展和 Podman,你可以轻松地为多个开发人员建立一个一致的环境,减少设置时间,并以安全的方式减少开发环境的差异带来的错误。


via: https://opensource.com/article/21/7/vs-code-remote-containers-podman

作者:Brant Evans 选题:lujun9972 译者:wxy 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

毫无疑问,微软的 VS Code是最好的开源代码编辑器之一。它与传说中的 Vim 不同,VS Code 不需要你是一个快捷键大师(LCTT 译注:以下都指键盘快捷键),开发者们对它大部分的功能都及其熟悉,且推崇备至。

但这并不意味着你不能成为快捷键大师,或者说你在 VS Code 中不应该使用快捷键。

在敲代码的时候,你可能需要用鼠标去执行其他的动作,比如在 VS Code 编辑器中切换终端,而此时你的代码流程会被打断,这是不是很讨厌?如果是的,那么你应该立即熟记下面这些 VS Code 有用的快捷键。

它不仅能帮助你摆脱鼠标,还能使你的生产力和工作效率得到提高。

那么,让我们来了解一下如何通过使用快捷键快速进行代码导航来进行快速编码。

有用的 VS Code 快捷键

免责声明。下面的这些快捷键是我在 VS Code 的使用中发现的较为有用的,你可以根据你的需要来发现更多有用的快捷键。

下面我还给出了 MacOS 用户的键盘快捷键。

1、显示所有命令

Windows/LinuxmacOS
CTRL + SHIFT + PF1SHIFT + ⌘ + PF1

我们从最有用的快捷键开始,这个快捷键能打开命令面板(列表),它提供了对 VS Code 所有功能的访问。

命令面板

这是一个非常重要的 VS Code 快捷键,因为即使你忘记了或不想记起其他任何快捷键,但你记得这个,那么你仍然可以使用命令面板进行各种操作,如创建新文件、打开设置、改变主题,还可以查看所有快捷键。

2、垂直和水平拆分 VS Code 编辑器

Windows/LinuxmacOS
CTRL + \⌘ + \

为了提高效率,但你又没有安装多个显示器,那么你可以通过水平或垂直分割 VS Code 的编辑器来一次查看多个文件的代码。

分割 VS Code 编辑区

要在多个编辑区间切换焦点,你可以使用数字键或箭头键。

Windows/LinuxmacOS
CTRL + 1/2/3⌘ + 1/2/3
CTRL + K CTRL + ←/⌘ + K ⌘ + ←/

3、切换集成终端

Windows/LinuxmacOS
CTRL + `⌘ + `

VS Code 中的集成终端是一个非常方便的功能,它可以让你在不切换窗口的情况下快速执行任务。要在编辑器中显示/隐藏终端,下面的快捷键会非常方便。

集成终端

但是,如果你跟我一样觉得 CTRL + 在键盘的角落位置而比较难按到,你可以打开命令面板执行View: Toggle Terminal` 命令来切换终端。

使用命令面板切换终端

4、转到文件

Windows/LinuxmacOS
CTRL + P⌘ + P

随着项目的壮大,查找文件可能会变得困难。因此,我建议,即使你使用鼠标,这个命令也能为你节省很多搜索和导航到版本库中的文件的时间。

转到文件

5、转到行

Windows/LinuxmacOS
CTRL + G^ + G

当你找到文件,你可能需要去到文件中指定的行增加或编辑代码,而如果这个文件包含了数千行代码,那么滚动代码将会浪费你大量的时间。而 CTRL + G^ + G 快捷键能让你快速的去掉指定的行。

转到行

另外,你也可以使用上面的转到文件的快捷键,在输入框中输入冒号 : 加行号,结果就跟转到行是一样的。

6、在整个项目中搜索

Windows/LinuxmacOS
CTRL + SHIFT + F⌘ + SHIFT + F

很可能你需要在整个项目中搜索一个文本、变量或函数,在这种情况下,上面的命令就非常方便,它会在侧边栏显示一个搜索输入框。

在项目中搜索

我们还可以在搜索的时候添加一些过滤器,比如使用 ALT+C 来启用大写匹配,ALT+W 用于匹配整个单词,ALT+R 用于启用正则表达式。

7、禅模式

Windows/LinuxmacOS
CTRL + K Z⌘ + K Z

想要在不受干扰的环境中工作以保持更专注? 你可以试试禅模式(先按下 CTRL + K,再按下 Z),它会隐藏所有 UI(状态栏、活动栏、面板和侧边栏)并仅在全屏上显示编辑器。

禅模式

要启用禅模式,你可以使用上面的快捷键或者打开命令面板执行 View: Toggle Zen Mode,要退出禅模式,你可以按两次 Esc 键。

8、将选择添加到下一次匹配中

Windows/LinuxmacOS
CTRL + D⌘ + D

这条命令能让你选择所选文本的下一个出现的地方,从而进行编辑。如果下一个匹配出现的位置与第一个相离较远,那这将会很方便处理。

查找下一个匹配

9、切换行注释

Windows/LinuxmacOS
CTRL + /⌘ + /

将光标移到行的开头,然后添加双斜杠进行注释,这种麻烦的操作我们可以用上面的快捷键来代替了。

注释代码

甚至,如果你想注释多行代码,你可以先通过 SHIFT+UP/Down 快捷键来选中多行,然后按 CTRL+/ 快捷键进行注释。

10、转到文件的开头或结尾

Windows/LinuxmacOS
CTRL + HOME/END⌘ + ↑/

如果你迷失在文件的中间位置,该命令可以让你快速达到文件的起点或终点。

11、代码折叠或打开

Windows/LinuxmacOS
CTRL + SHIFT + [/]⌥ + ⌘ + [/]

这也是最有用的快捷键之一,它可以帮助你折叠/取消折叠一个区域的代码。通过这种方式,你可以隐藏不必要的代码,每次只查看所需的部分代码,以便更加专注和快速编码。

折叠一块代码

12、窥视执行

Windows/LinuxmacOS
CTRL + SHIFT + F12⌘ + SHIFT + F12

这个快捷键最有可能的作用是帮助你进行代码分析,或修复 bug 时了解函数和变量的运行情况。

窥视执行

13、删除当前行

Windows/LinuxmacOS
CTRL + SHIFT + KSHIFT + ⌘ + K

这是一条可以快速执行,选中当前行并按删除/退格键,这两个任务的简单命令。

14、查找与替换

Windows/LinuxmacOS
CTRL + F⌘ + F
CTRL + H⌥ + ⌘ + F

用一个新的文本替换文件中所有出现的该文本的最好方法是什么?如果你手动一个一个的通过滚动代码来处理,且如果需要替换的地方又很多,那么你可能会花费大量的时间。

查找与替换

而使用查找和替换功能我们能在几秒内完成相同的任务。你可以用两个快捷键来打开它,其中一个实际上是打开用于查找文本的输入框,另一个用于输入新的文本。

15、VS Code 的全部键盘快捷键

Windows/LinuxmacOS
CTRL + K CTRL + S⌘ + K ⌘ + S

最后,如果你还在为记住上述所有的快捷键而苦恼,你大可不必。因为你可以使用上面的快捷键查看编辑器所有可用的命令。

快捷键

你还可以根据自己的喜好编辑命令的绑定键。

想要为 VS Code 添加更多快捷键?

如果你想对 VS Code 的快捷键有完整的了解,你可以查看 VS Code 的 文档

或者,如果你想在纸上将所有快捷键打印出来慢慢看,下面这些是各个系统对应的快捷键速查表: LinuxmacOSWindows


via: https://itsfoss.com/vs-code-shortcuts/

作者:Sarvottam Kumar 选题:lujun9972 译者:ywxgod 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

一个底层组件的许可证发生变化后,导致大量 Ruby 软件无法构建

有一个名为 mimemagic 的 Ruby GEM 被广泛使用于包括 Rails 在内的 Ruby 软件中。该组件 是以 MIT 许可证发布的,但它又依赖于一个以 GPLv2 许可证发布的 shared-mime-info,因此,按照许可证要求,mimemagic 也应该使用 GPLv2 许可证。在发现了这一错误之后,该组件作者马上撤回了其 MIT 许可证的版本,重新发布了使用 GPLv2 许可证的新版本,这当即导致许多依赖于该组件的软件构建失败。

这对于 Rails 和其他喜欢或需要 MIT 许可证的项目来说是不可接受的,虽然 mimemagic 后来发布了修订版,去除了对 GPLv2 组件的依赖,回到了 MIT 许可证,但是一些软件已经对 mimemagic (或者说对他的作者的草率行为)失望了,决定采用另外的 MIT 组件来替代它。最终 Rails 发布了新版本,放弃了 mimemagic

这件事说起来不复杂,但是目前这种叠床架屋的软件依赖架构,已经屡屡出现因为底层某个很小的组件的一些变化而导致很多上层组件和软件出现构建问题。我觉得是时候反思这种组件构建模式了。

Linux Mint 改进通知系统以敦促用户升级以保障安全

之前我们报道过,Linux Mint 的更新相对保守,以便用户可以完全控制何时、如何以及安装哪些更新;但这种思路导致一些用户运行过时的、存在缺陷的软件。Mint 称,“为了补救这个问题,我们创建了一个新的弹出式窗口,它可以让用户知道有多少更新,为什么需要应用更新,它让用户可以查看可用的更新,并为用户提供打开自动更新的选项。如果用户驳回通知,它将在两天后再次出现,所以它并不霸道。”

Mint 在小心翼翼地平衡用户体验和安全,为这个态度点赞。

微软正式发布支持树莓派 OS 的 VS Code 的新版本

VS Code 发布了 1.55,在此版本中,微软正式支持了树莓派 OS。其实,在几周前它就已经出现在了树莓派 OS 的 APT 仓库中了,当时还因为树莓派基金会在未通知用户的情况下,悄悄加入了微软的 APT 库而引发了一些争议,因为这使得每个运行树莓派 OS 的用户在更新时都会 “ping” 一下微软。

但对另外一些人来说,只是在意 VS Code 在树莓派上不多的内存上是否能好好运行。

微软的 VS Code 有 1400 万用户,而全球开发者才 2400 万

据统计,世界上大约有 2400 万开发者。而根据微软的数据,已经有 1400 万用户在使用微软的 VS Code,仅仅在 2020 年就增加了 500 万用户。当然,这些用户不全是专业开发者,DevOps、IT 管理、学生,甚至记者等各种职业和行业的人都在使用它。

不过,使用 VS Code 的专业开发者也很多,据微软的说法,“我们有近 200 万 Python 开发者使用 VS Code,远超过 100 万的 C++ 开发者在使用 VS Code。甚至我们的 Java 使用者也接近 100 万。”

微软开发的轻量级的、开源的 VS Code 取得了出乎意料的成功,再加上微软的 Windows Terminal、WSL 等,只能说调转枪口的微软认真做起来开源,十分可怕。

量子计算机发现 AES 等加密算法存在重大缺陷

Terra Quantum 公司拥有一支由约 80 名量子物理学家、密码学家和数学家组成的团队,其研究发现了影响对称加密密码的重大缺陷,这包括被广泛用于保护互联网上传输的数据和加密文件的安全的 AES 加密算法。其研究发现,即使是 AES 加密的最强版本,也可能被几年后可能出现的量子计算机破译。他们是在研究如何逆转哈希函数时有了这一发现的。并且,据此发现,他们开发了一种新的量子计算机无法破解的加密协议,新协议利用了一种被称为量子密钥分配的方法。

我认为,如果几年后量子计算能打破现有的主流加密算法,并可投入实际使用,整个基于这些对称和非对称加密算法建立起来的互联网安全,都岌岌可危。但是,我相信,量子计算不是摧毁互联网和信息世界的武器,也会是加强信息安全的重要盾牌。

微软将在今年 4 月用 Chromium 版本干掉原始版本的 Edge 浏览器

微软已经宣布,作为周二补丁更新的一部分,微软 Edge 的原始版本将在 4 月份从用户的 Windows 10 上被删除。微软不但夸赞了自家的 Chromium Edge,还踩了 Google Chrome 一脚,“新的 Edge 提供了内置的安全性和与微软安全生态系统的最佳互操作性,同时对 Windows 10 上的企业来说比 Chrome 浏览器更安全。”

抛弃 Edge 最积极不是用户,是微软自己。当然,原始版 Edge 也不孤单,因为当年 IE 也是这样被抛弃。

虽然从产品策略和用户体验来说,Chromium 版 Edge 都是一个好事,但是我总觉得在这个浏览器吞噬世界的时代,Chromium 取得垄断性胜利不是好事。