如果您像我一样并且您的 RubyMine 试用期已过期,您可能需要 VS Code。 虽然前者是一个了不起的工具,但不幸的是它时付费的。 希望 JetBrains 会在某个时候重新考虑并拥有一个社区版本,就像 IntelliJ 一样。
让我们看看另一个由扩展和gem组成的环境,它们可以帮助我们完成日常编码工作。
我们将涵盖广泛的功能,以与强大的 JetBrains IDE 竞争。 最重要的是:
我们还将安装一些其他的高质量的扩展,以改进我们的编码。
我们将讨论的事情包括:
在 VS Code 中安装扩展
- 快速教程 → 单击左侧栏中的“扩展程序”图标并输入扩展程序的名称。 找到它后,单击安装按钮。
编辑 settings.json 以充分利用这些扩展。
- 对于本文,我们将使用主要的,它位于用户下的设置。 您可以通过转至文件 → 首选项 → 设置 → 打开设置(右上按钮)或使用快捷键 Ctrl + Shift + P 并键入“打开用户设置 (JSON)”来找到它。
添加 Ruby Gemfile 处理我们所有的项目 gem 和使用 Bundler 进行安装。
- 要添加 gem,请键入 gem install [name_of_gem]。 要从 Gemfile 所在的项目文件夹安装所有项目 gem,请运行 bundle install
自定义 .yml 文件从我们的扩展和 gem 中获得更多功能。
- 一旦我们安装了扩展和相应的 gem,我们就可以生成这些设置文件以更好地满足我们的需要。 他们将成为我们项目的客人。
假设一切顺利,您需要安装 Ruby 并设置环境变量和 Bundler gem。 此环境是为 Windows 构建的,但可以在任何操作系统上正常运行。
现在我们已经列出了我们需要做的事情,让我们看看如何配置一个高效的 Ruby 开发环境,类似于 RubyMine 提供的,但是是免费的。
使用 VSCode Ruby 由 Peng Lv 编写的 Ruby。
VSCode Ruby 为我们提供了语法高亮和代码片段。
Peng Lv 的 Ruby 扩展在 VS Code 提供的基本扩展的基础上增加了许多改进。 它包括更广泛的功能,包括 linting、格式化和基本的 IntelliSense。 即使它开箱即用,我们仍然需要对其进行配置以获得额外的性能。
现在,我们将使用一个基本的配置示例,并使用本文开头给出的步骤添加以下 settings.json。
{
"ruby.useBundler": true,
"ruby.useLanguageServer": true,
"ruby.lint": {
"rubocop": {
"useBundler": true
}
},
"ruby.format": "rubocop"
}
使用本文开头的步骤从“扩展”选项卡安装。
我们应该看到差异。
在我们做任何其他事情之前,重启 VS Code 或 Ctrl + Shift + P 并在窗口中键入“Reload”。 我们将在整个指南中重复此步骤。
在我们旅程的下一部分,我们将安装一个名为 Rubocop 的 gem。
在项目中,打开一个终端(您可以使用 VS Code 提供的终端),如果您没有 Gemfile,请运行它 bundle init。 打开文件并添加以下内容:
gem 'rubocop', require: false
从终端 bundle install 特定于项目的 gems 运行,目前只是 Rubocop。
我们还需要扩展来帮助我们。 在“扩展”选项卡中搜索“rubocop”并安装名为“ruby-rubocop-revived”的那个,因为原来的那个不再维护了。
作者的新扩展甚至添加了一种使用 Ctrl + 快速修复代码的方法。 关于故障码。 效果惊人的好!
我们还没有完成这个,因为我们希望 Rubocop 以我们想要的方式运行。 再次从终端运行 rubocop –auto-gen-config,它会生成两个 .yml 文件。 这两个文件将承载您的所有任务以及您的项目配置。
有几种风格指南可用,其中之一是 Shopify。 它是可选的,但如果您想安装它,请按照以下步骤操作。
将以下内容添加到您的 gem Gemfile 并运行 bundle:
gem 'rubocop-shopify', require: false
在先前创建的 rubocop.yml 文件中,添加以下内容:
inherit_gem:
rubocop-shopify: rubocop.yml
让我们重新加载 VS 代码以确保一切正常。
我们已经准备好审查我们的代码了。 让我们试试吧!
在终端中运行 rubocop 我们将能够看到 Rubocop 扫描我们的代码并根据 rubocop.yml 中提供的样式指南向我们显示当前的违规的部分。
rubocop -a 将安全地修复大多数违规行为(如果有的话),但不是全部,因为此命令不会改变严重的部分。
如需详细了解 Rubocop 的功能,请访问网站基本使用页面 。
虽然我们之前安装的 Ruby 扩展内置了基本的 IntelliSense 技术,但我们可以使用更好的东西,称为 Solargraph。
我们需要一个扩展和一个 gem。 同样,在“扩展”选项卡中,搜索“Ruby Solargraph”并安装它。
将以下内容添加到您的 Gemfile 中:
gem 'solargraph'
然后从终端运行 bundle 来安装它。
现在我们可以访问 solargraph 命令,所以我们将使用它来完成设置。
我们运行的第一个命令是 solargraph download-core。 这确保我们使用的是安装的 Ruby 版本的正确文档。
其次,输入 solargraph config。 生成名为 solargraph.yml 的文件。 它包含一个基本配置,可以根据我们的需要进行修改。
第三,让我们运行 solargraph 扫描来检查是否有任何代码无法映射或解析。 如果扫描成功,Solargraph 可以毫无问题地对其进行分析。
Solargraph 运行后,我们可以编辑它的 setting.json 以反映我们的更改。 我们需要删除一些以前的代码,因为我们将控制权交给了 Solargraph。 该文件应如下所示:
{
"ruby.useBundler": true,
"ruby.rubocop.useBundler": true,
"solargraph.useBundler": true,
"solargraph.formatting": true,
"solargraph.diagnostics": true
}
从那里开始,有两行最重要的行“solargraph.formatting”:true 和“solargraph.diafnostics”:true。 通过启用这些功能,我们确保通过我们强大的扩展进行格式化、linting 和即将添加的类型检查。
对于文档,Solargraph 使用依赖于安装的 YARD gem。
要获取有关已安装的 gem 和项目的信息,请运行 bundle exec yard gems。 这个过程可能需要一段时间,所以让我们在等待的时候喝一杯。
快速充电,我们应该准备好了。
请注意,如果您在启动 Solargraph 语言服务器时遇到问题,请尝试删除以下内容:
"solargraph.useBundler": true
或者尝试添加:
"solargraph.transport": "stdio"
有关详细信息,请访问Solar chart文档。 它很容易理解,并提供了其他功能的详细信息。
有很多方法可以进行类型检查,我打算在以后的文章中详细介绍它们。 但是现在,让我们使用我们已经安装的东西。
Solargraph 可以提供此功能并且设置起来相当容易。 让我们来看看。
我们必须通过添加以下子项器来允许 .solargraph.yml:
- typecheck:strict
重新加载窗口以确保所有内容都已正确加载。
我们前面提到的 YARD gem 是 Solargraph 依赖的依赖项之一。 这会派上用场,因为我们现在可以将 @param 和 @return 类型添加到我们的代码中。
因为我们将类型检查设置为严格,所以我们可以看到几个需要我们注意的地方。
有关更多信息,请访问网站Solar chart 类型检查 YARD 以及相关的文档。
错误可见性
这是可选的,但可能很有用,因为您倾向于修复更明显的错误,并且它与之前启用的类型检查功能配合得很好。 您可以在“扩展”选项卡中找到它,并且不要忘记重新加载它。
这个非常简单。 在“扩展”选项卡中,找到并安装 GitLens。 我们可以访问许多 git 功能,包括内联提交历史记录。
和以前一样简单,搜索 Scratchpads 应用程序并安装它。 让我们重新加载 VS 代码。
要创建 Scratchpad 文件,请按 Ctrl + Shift + P 并键入“Scratch”,选择第一个选项“Scratchpads: new notebook”和您要创建的文件类型。
这些生成的文件不会出现在你的项目中,所以你不必担心不小心提交它们。
只需选择“笔记本:打开笔记本”选项,即可使用与创建它们时相同的步骤轻松打开它们。
搜索“vscode-gemfile”并安装它。 重新加载 VS 代码后,转到您的 Gemfile 并将鼠标悬停在任何gem上。
添加End
一个很棒的小扩展,可以自动添加关键字 end。
自动路径补全
另一个不错的扩展,有助于更快地编写路由。
在字符串插值中添加括号
一种向字符串插值添加括号的简单方法。
令人遗憾的是,一些缺失的功能不会影响生产力,但拥有它们会很好。
VS Code for Ruby 中没有扩展来覆盖方法覆盖图标和嵌入提示。
我们在这里能做的最好的事情是选择方法 Shift + F12 检查所有定义。
我们介绍了许多扩展和 gem,它们可以免费增强我们的 Ruby 编码体验并提高生产力。 这就是我在处理自动化项目时设置环境的方式,我发现它非常宝贵。
我们希望这对您有所帮助! 我欢迎任何反馈,如果您能分享您认为有用的任何其他扩展或 gem,我将不胜感激。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至2705686032@qq.com 举报,一经查实,本站将立刻删除。原文转载: 原文出处: