为了支持命令行的使用,微软重新开发了windows Terminal了,经过几次的迭代,目前已经趋于成熟,可以用来实际使用 。本文中,虫虫给大家介绍一个利用Windows Terminal、WSL和VSC构建一个完美的终端开发环境,实现:
使WSL成为主开发环境
使用VSCode为主编辑器
拥有一个漂亮的终端
WSL和VSCode首先安装WSL 2 。我们选择了Ubuntu发行版,这是目前最适合做开发的linux发行版 。
接着安装VSCode和Remote Development扩展包 。使用该扩展包后,就可以可以让VSCode无缝编辑WSL文件系统中的文件 。
文章插图
Windows终端为了使得我们的终端变得漂亮,安装了Windows Terminal(WT),这是Microsoft新推出的非常棒的一个Windows新终端 。
以WSL成为主要开发环境,但仍然希望在Windows中工作也能获得很好的体验 。为此,安装最新版的PowerShell 7 。
文章插图
最后是WT配置文件,为了打造一个漂亮的终端,必须要自己好好配置一番 。默认情况下,WT可以创建WSL,PowerShell,CMD和Azure Cloud Shell窗口 。我们对cmd和Azure Cloud Shell不感兴趣,并且要使用PowerShell 7而不是PowerShell,因此禁用了WSL Shell以外的所有功能,只需添加"hidden": true属性添加到WT设置文件中的配置文件中(单击标题栏中的下拉列表,然后单击“设置”或Ctrl+,) 。
PowerShell WT配置
创建PowerShell 7配置文件,将以下对象添加到配置文件数组:
{"guid": "{346d54ee-6282-41c7-846a-0a2fa38ff66b}","name": "PowerShell","commandline": "pwsh.exe","icon": "%SystemRoot%\Installer\{8B844F39-E6EE-486B-BE85-96A485AE2B96}\PowerShellExe.ico","startingDirectory": "D:\code"}
注意事项:要生成GUID,可以使用在线GUID生成器网站
对PowerShell 7,要使用pwsh.exe命令而不是powershell.exe,请按照以下步骤在系统上查找图标路径:
打开“开始”菜单,然后搜索PowerShell 7
右键点击该应用,然后点击“打开文件位置”
在打开的文件资源管理器中,右键单击快捷方式,然后单击“属性”
在“快捷方式”选项卡上,单击“更改图标...”按钮,然后复制文件路径 。
将起始目录设置为保留所有项目的位置,理想情况下,该目录位于驱动器的根附近,以使文件路径尽可能短 。
Ubuntu WT配置
由于要将WSL用作为主要环境,因此将其配置文件对象移至列表的顶部,以便它将首先出现在新选项卡的下拉列表中 。用defaultProfile WSL概要文件的guid属性替换了顶层属性,以使其成为在WT启动时自动打开的概要文件 。
和PowerShell类似,希望起始目录为~/code 。如果尝试直接在WT配置中进行设置,则会发现它不起作用,因为WT不知道如何解决它 。可以改用绝对路径到达那里,并且需要使用WT可以理解的Windows文件路径 。可以使用Windows从Windows访问WSL发行版的文件系统\wsl$<distro>,因此,将该属性添加到Ubuntu配置文件对象中:(应在"startingDirectory": "\\wsl$\Ubuntu\home\CC\code"其中Ubuntu替换为WSL发行版的名称和WSL用户名) 。
WT主题
最后,为WT设计一个新主题 。此处使用了与VSCode相同的配色方案,即Night Owl主题 。创建了一个VSCode插件来自动生成WT主题 。
以下是Night Owl主题下终端的外观效果如下图:
文章插图
shell profile接下来,开始进行shell配置 。shell配置文件是一个在终端启动时运行的脚本,可用于配置当前环境 。对于PowerShell,这将是PowerShell脚本,对于WSL,将是bash脚本 。
PowerShell适配首先是PowerShell 。可以运行echo $PROFILE以查看配置文件脚本是否已经存在:C:UsersCCDocumentsPowerShellMicrosoft.PowerShell_profile.ps1 。PowerShell似乎在各个地方都有作用,只需在适当的位置创建脚本即可,它应该可以工作 。添加到个人资料脚本中的内容:
# C:UsersCCDocumentsPowerShellMicrosoft.PowerShell_profile.ps1Set-Alias -Name editor -Value nanoSet-Alias -Name edit -Value editorfunction profile_alias { editor $PROFILE }Set-Alias -Name profile -Value profile_aliasfunction reload_alias { & $PROFILE }Set-Alias -Name reload -Value reload_alias
解释:首先,为终端编辑器创建了几个别名(editor和edit) 。喜欢使用终端编辑器而不是GUI编辑器,因为它减少了在终端中工作时的上下文切换,并且加载文件以进行快速编辑要快得多 。就是说,如果想使用VSCode,则可以替换nano为code 。
推荐阅读
- 法正在蜀汉地位 诸葛亮和法正谁更厉害?军事
- 清朝是公主还是格格 清朝公主和格格有什么不同
- 为什么胡亥继位不是扶苏?胡亥和扶苏是什么关系
- 农药有哪些作用和特点
- 贾琏为什么要和贾珍,尤三姐喝酒 尤二姐与贾珍贾蓉的关系
- 白茶和乌龙茶,安吉白茶可研制红茶
- 房扑和房颤的区别是什么
- 1到5年级的古诗和日积月累?五年级积累古诗
- 蜀国被灭的时候东吴怎么不帮 东吴和蜀汉存在多少年
- 江南四大才子是哪些人 江南四大才子和吴中四才子