在 VS Code 中安装 prettier 作为 NPM 包和安装 prettier 扩展有什么区别

Joj*_*oji 8 javascript visual-studio-code prettier

我是网络编程的新手,我了解到我们可以输入npm i -D prettier来安装 prettier 作为其中之一,devDependency并使用它来格式化我们的代码。然后我发现有一个 VS Code 扩展 Pretty 可以做完全相同的事情。

我不知道这两者之间有什么区别。

如果我只安装扩展,我可以格式化没有安装漂亮 npm 包的代码库吗?

这两者的配置过程也不同吗?哪一个是首选?

Mic*_*eng 7

功能上没有区别,它们都可以工作。

VS Code 扩展Prettier(不是 Pretty Formatter,那是不同的)在其中包含prettiernpm 包的最新副本,如果您的 repo 中没有通过 npm 安装该包,它将默认使用该包。请参阅扩展页面关于更漂亮分辨率的部分。

我想用一个例子来说明为什么你可以在扩展上使用 npm。

假设您在一个团队中工作,并且您希望每个人都拥有相同版本的更漂亮。通过 VS Code 扩展让每个人都使用同一个版本是非常困难的。开发人员必须自己管理版本控制,并且很难所有人都使用相同的版本(如果需要)。但是如果你使用 npm 并且在存储库中有 package.json/lock 文件,你可以很容易地使用相同的版本。如果您需要更新到相同的版本,您可以这样做npm install,这将使每个人都在同一页面上。对于更漂亮的人来说,这可能不是那么重要,但请考虑对最新版本进行重大更改的软件包。

所以回答你的问题:

如果我只安装扩展,我可以格式化没有安装漂亮 npm 包的代码库吗?

使用 VS Code 扩展时,您可以使用它来格式化任何文件。如果您没有在给定项目中安装 npm 包,该扩展将使用其内置的默认包。

这两者的配置过程也不同吗?哪一个是首选?

两者都.prettierrc用于您可以在 Prettier 中配置的(少量)内容。VS Code 扩展附带了一些关于它应该如何与您的编辑器交互的附加配置。

如果你想让你的编辑器在保存时运行更漂亮,或者能够从 VS Code 命令面板运行它,你应该使用 VS Code 扩展。此外,如果您需要特定版本的 Prettier,或者您需要从命令行运行它,您可以将它作为 npm 包安装在您的存储库中。这两个选项并不相互排斥。