创建我很棒的Windows 10开发人员设置

2021-01-30 11:21:32

最近,我有机会完全重设Windows 10计算机,并利用这次机会创建了自己喜欢的开发环境。这些是我的高级目标:

为此,我从安装WSL 2开始。我选择了Ubuntu发行版,因为这是过去最丰富的经验。您可以在Officialdocs中找到有关安装WSL和/或将其升级到WSL 2的说明。

接下来,我安装了VSCode和Remote Development扩展包,这使事情开始变得有趣。安装此扩展包后,您可以使用VSCode无缝编辑WSL文件系统中的文件。

为了使我的终端美观,我安装了WindowsTerminal(WT),这是Microsoft提供的Windows令人讨厌的新终端体验。

尽管我希望WSL成为我的主要开发环境,但我仍然希望在Windows中工作也能获得丰富的体验,因此我想确保PowerShell终端也很棒。为了做到这一点,我还安装了最新的PowerShell7。

现在是时候设置我的WT配置文件了。默认情况下,WT为WSL,PowerShell,cmd和Azure Cloud Shell创建配置文件。我对使用cmd或Azure Cloud Shell不感兴趣,并且我将使用PowerShell 7而不是PowerShell,因此我禁用了WSL Shell之外的所有功能。为此,只需在WT设置文件中的配置文件中添加" hidden" true属性(单击标题栏中的下拉菜单,然后单击Settings或Ctrl +,即可)。

现在创建PowerShell 7配置文件,将以下对象添加到配置文件数组:

我喜欢将起始目录设置为保留所有项目的位置,理想情况下,该目录位于驱动器的根部附近,以使文件路径尽可能短

由于我想将WSL用作我的主要环境,因此将其配置文件对象移到了列表的顶部,以便它将首先出现在新选项卡的下拉列表中。然后,我用WSL配置文件的guid属性替换了顶级defaultProfileproperty,使其成为在WT启动时自动打开的配置文件。

与PowerShell类似,我希望起始目录为〜/ code。如果您尝试直接在WT配置中进行设置,则会发现它不起作用,因为WT不知道如何解决它。您可以改用绝对路径到达那里,并且需要使用WT可以理解的Windows文件路径。您可以使用\\ wsl $ \< distro>从Windows访问WSL发行版的文件系统,因此,我将此属性添加到了Ubuntu概要文件对象中:" startingDirectory&#34 ;:" \\\\ wsl $ \\ Ubuntu \\ home \\ blake \\ code" (其中Ubuntu应替换为WSLdistro的名称,而blake应替换为WSL用户名)。

最后,我想为我的WT设计一个新主题。我决定我要使用与当时用于VSCode相同的配色方案,即NightOwl主题。因此(自然地),我创建了一个VSCodeplugin以自动生成WT主题。

接下来,我想开始我的外壳配置文件。稍后我们将对这些内容进行迭代。您的shellprofile是一个在终端启动时运行的脚本,可用于配置当前环境。对于PowerShell,这将是PowerShell脚本,对于WSL,将是bashscript。

让我们再次从PowerShell开始。您可以运行echo $ PROFILE来查看配置文件脚本是否已经存在。对我而言,它位于C:\ Users \ blake \ Documents \ PowerShell \ Microsoft.PowerShell_profile.ps1。如果对您来说不存在,那没什么大不了的。看起来PowerShell可以在各种地方使用,您只需在适当的位置创建脚本即可,它应该可以工作。这是我添加到myprofile脚本中的内容:

#C:\ Users \ blake \ Documents \ PowerShell \ Microsoft.PowerShell_profile.ps1 Set-Alias-名称编辑器-Value nano Set-Alias-名称编辑-Value编辑器功能profile_alias {editor $ PROFILE} Set-Alias-名称配置文件-Value profile_alias函数reload_alias {& $ PROFILE}设置别名-重载名称-值重载别名

让我们对此进行分解。首先,我为终端编辑器创建了两个别名(编辑器和编辑)。我更喜欢使用终端编辑器而不是GUI编辑器,因为它可以减少在终端中工作时的上下文切换,并且加载文件以进行快速编辑要快得多。就是说,如果您想使用VSCode,则可以用代码替换nano。

我为编辑器命令创建别名的原因是,我可以随时更改编辑器,而不必更改肌肉记忆即可使用新命令。这也意味着我可以创建更多打开编辑器的别名,而不必更改所有别名(如果更改编辑器)。

接下来,添加配置文件别名,这将在我的编辑器中打开配置文件脚本(编辑器别名已经派上用场了!)。这很棒,因为现在我不需要记住个人资料了,我可以运行个人资料并立即开始对其进行编辑。我还添加了一个reloadalias,它使用配置文件脚本简单地重新加载了外壳。这使我可以使用对配置文件脚本所做的更改,而不必创建新的终端实例。

现在让我们对bash做同样的事情。在bash中,配置文件是位于〜/ .bashrc中的bash脚本,默认情况下它已经包含很多东西,所以我想将更改添加到脚本的底部。这是我添加的内容:

这与PowerShell脚本非常相似。首先,我们创建一个EDITOR环境变量。某些Linux程序会尊重EDITOR变量,因此,如果您想让更多程序知道要使用哪个编辑器,则最好进行设置。然后我们像以前一样使用EDITOR创建编辑器并编辑别名。

然后,添加相同的配置文件并重新加载别名以编辑和重新加载配置文件脚本。

最后,我添加了另一个别名,该别名将资源管理器映射到explorer.exe,使它与在PowerShell中打开WSL中的Windows File Explorer时使用相同的命令。

让我们重新访问我们的终端编辑器。我从nano开始,因为它是一个非常直观且易于使用的终端编辑器。我没有太多的终端编辑经验,所以我对Vim不太方便,甚至使用nano也可能有点尴尬。

因此,我进行了一些研究,以查看是否有任何编辑器具有与现代GUI文本编辑器(如VSCode)更相似的键盘快捷键和导航。我发现可以跨平台使用的微型显示器非常完美!

让我们安装它。在PowerShell中,最容易通过瓢或Chocolatey安装。如果您尚未安装,则强烈建议您这样做,因为这样可以使在Windows中安装程序更加轻松。在本指南中,我将使用独家新闻。安装了scoop后,只需运行scoop install micro。现在,您可以运行micro编辑文件了。

一旦您开始在micro中进行编辑,您可能会注意到的一个问题是它的主题与您的WTtheme冲突。一种选择是将您的WT主题移植到micro,但这是很多工作。我发现使用内置的简单主题会使用您的终端主题的背景颜色,并且似乎非常适合我。

为此,您必须分别为PowerShell和WSL配置micro。要配置它,请使用openmicro,按Ctrl + E打开命令提示符,然后输入简单的命令集colorscheme。

最后,要使终端真正漂亮,我们需要自定义提示。那里有很多选项,但是最受欢迎的似乎是Bash的ohmyzsh和PowerShell的oh-my-posh。我不是这些的忠实拥护者,因为根据我的经验,它们会使终端运行速度降低到一定程度,这使我沮丧地使用它们,并且由于它们是针对每种环境的单独解决方案,因此必须分别进行配置。

输入“飞船”,“快如闪电”跨平台替代方案,具有非常简单的提示和一些出色的自定义功能(有望提供更多将来的功能发布)。由于WSL和PowerShell都可以访问Windows文件系统,因此我们甚至可以将Starship配置存储在一个中央位置,并且都可以从中获取。

要安装Starship for PowerShell,我们可以再次使用scoop:scoop install starship。要载入星际之旅,我们再次需要编辑配置文件(现在使用时髦的编辑器和单命令别名):

安装Starship for Bash同样简单。首先从他们的网站运行bash安装脚本:

此时您可能会看到的一个问题是提示中的某些图标无法正确呈现。要解决此问题,我们需要为WT配置Powerline字体。 WT的默认字体是Cascadia Mono.Cascadia是一种字体家族,包含在变体中:

默认情况下,已安装Cascadia Mono和Cascadia Code,但是您必须自己从GitHubReleases下载和安装Powerline变体。

您可以使用任何其他喜欢的Powerline字体,但我认为Microsoft在此方面做得很好。

安装字体后,您可以打开VSCode设置文件,并将" fontFace&#34 ::" Cascadia Code PL&#34属性添加到profile.defaults对象。 (我也喜欢编程字体的连字,所以我在使用Code变体。如果您不喜欢连字,请改用Mono变体。)

要在PowerShell和WSL上对Starship进行相同的配置,我们首先在Windows的PowerShell文件系统中创建配置文件,然后在WSL文件系统中创建符号链接。您也可以采用其他方法,但是出于以下几个原因,我认为这样做更好:

您将来可以添加或删除WSL发行版,因此Windows中的配置意味着它可以一次被多个WSL发行版使用,如果将来删除WSL发行版,则不会删除它。

默认情况下,Starship在〜/ .config / starship.toml中查找其配置文件。在PowerShell中,〜解析为C:\ Users \< username&gt ;,因此我们可以运行以下命令来创建配置文件:

现在,您可以在此处添加所需的任何配置。我个人不喜欢它们默认情况下具有的所有多余的换行符,而且我也不喜欢它们默认情况下启用的几个模块,所以这是我的配置:

我鼓励您先尝试使用默认设置,然后再进行更改以了解自己的喜好。

最后,我们需要将这些更改同步到WSL。在bash中,您可以运行以下命令来创建符号链接:

mkdir〜/.config#这可能已经存在,特别是如果您已经安装了micro ln -s / mnt / c / Users /<用户名> /.config/starship.toml〜/.config/starship.toml

这些天来,在Windows 10中创建美观,实用的开发环境变得越来越容易。我希望本指南对您有所帮助,并且您一路上会学到一些新知识(我知道我确实做到了)。