使用VSCode搭建Ruby on Rails集成开发环境

目录

  • 背景
  • 选择插件
  • 配置插件

背景

在windows平台下开发Ruby on Rails,之前使用的IDE是Rubymine,但是发现激活码失效了,于是怀着折腾的心思在VSCode上搭建一下Ruby on Rails集成开发环境,后来搭建好了之后,发现使用起来非常不错,体验不输Rubymine,果断记录一下自己的折腾过程,也给后来者福音。

选择插件

在windows平台下开发Ruby应用程序,建议采用WSL(Windows Subsystem for Linux),因为bundle一些第三方gem包,在Linux下兼容性好,避免一些麻烦。所以我们需要第一个插件是WSL。第二个插件是Ruby。

  • WSL
  • Ruby

你可能会疑问就这两个插件就够了吗?回答:是的

Ruby插件(Shopify公司出品,就是推出YJIT的那个公司),附带两个插件Ruby LSP和Ruby Sorbet(这个插件暂时用不到,可以先装上)

配置插件

下载上面我们提到的插件后,配置基本采用默认就可以了。但是要达到调试Ruby on Rails工程的目的,还需要配置一个launch.json文件

点击运行->添加配置->选择Ruby LSP Debugger client,之后就会自动生成一个launch.json文件

编辑launch.json文件:

{// 使用 IntelliSense 了解相关属性。 // 悬停以查看现有属性的描述。// 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387"version": "0.2.0","configurations": [{"type": "ruby_lsp","name": "Debug script","request": "launch","program": "bin/rails s -p 3003"},{"type": "ruby_lsp","name": "Debug test","request": "launch","program": "ruby -Itest ${relativeFile}"},{"type": "ruby_lsp","name": "Attach debugger","request": "attach"}]
}

需要修改就是第一个 program 属性,改成Ruby on Rails工程下面的bin目录下的rails程序,指定端口为3003,默认启动就是debug模式。

如果调试不能正常启动,可能是少了gem包:“debug”,在 Gemfile 文件中添加如下:

group :development, :test do# See https://guides.rubyonrails.org/debugging_rails_applications.html#debugging-with-the-debug-gemgem "debug", platforms: %i[ mri windows ], require: "debug/prelude"
end

配置好以后,就可以按快捷键 F5 启动调试,Shift + F5 停止调试,默认格式化工具为RubyCop,这个工具Rails工程都是默认自带的,这样就可以格式化代码,并提示代码问题。

好了,之后就可以体验和Rubymine一样的开发体验了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/67150.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

WeakAuras NES Script(lua)

WeakAuras NES Script 修星脚本字符串 脚本1:NES !WA:2!TMZFWXX1zDxVAs4siiRKiBN4eV(sTRKZ5Z6opYbhQQSoPtsxr(K8ENSJtS50(J3D7wV3UBF7E6hgmKOXdjKsgAvZFaPTtte0mD60XdCmmecDMKruyykDcplAZiGPfWtSsag6myGuOuq89EVDV9wPvKeGBM7U99EFVVVV33VFFB8Z2TJ8azYMlZj7Ur3QDR(…

【江协STM32】11-2/3 W25Q64简介、软件SPI读写W25Q64

1. W25Q64简介 W25Qxx系列是一种低成本、小型化、使用简单的非易失性存储器,常应用于数据存储、字库存储、固件程序存储等场景存储介质:Nor Flash(闪存)时钟频率:80MHz / 160MHz (Dual SPI) / 320MHz (Quad SPI)存储容…

沸点 | 聚焦嬴图Cloud V2.1:具备水平可扩展性+深度计算的云原生嬴图动力站!

近日,嬴图正式推出嬴图Cloud V2.1,此次发布专注于提供无与伦比的用户体验,包括具有水平可扩展性的嬴图Powerhouse的一键部署、具有灵活定制功能的管理控制台、VPC / 专用链接等,旨在满足用户不断变化需求的各项前沿功能&#xff0…

Elasticsearch入门学习

Elasticsearch是什么 Elasticsearch 是一个基于 Apache Lucene 构建的分布式搜索和分析引擎、可扩展的数据存储和矢量数据库。 它针对生产规模工作负载的速度和相关性进行了优化。 使用 Elasticsearch 近乎实时地搜索、索引、存储和分析各种形状和大小的数据。 特点 分布式&a…

重邮+数字信号处理实验六:用 MATLAB 设计 IIR 数字滤波器

一、实验目的 1、加深对 IIR 数字滤波器设计方法和设计步骤的理解; 2、掌握用模拟滤波器原型设计 IIR 数字滤波器的方法; 3、能编写 MATLAB 函数,掌握设计 IIR 数字滤波器的函数调用方法; 4、根据不同的应用场景&#xff0…

mac intel芯片下载安卓模拟器

一、调研 目前主流两个模拟器: 雷神模拟器 不支持macosmumu模拟器pro版 不支持macos intel芯片 搜索到mumu的Q&A中有 “Intel芯片Mac如何安装MuMu?” q&a🔗:https://mumu.163.com/mac/faq/install-on-intel-mac.html 提…

fast-crud select下拉框 实现多选功能及下拉框数据动态获取(通过接口获取)

教程 fast-crud select示例配置需求:需求比较复杂 1. 下拉框选项需要通过后端接口获取 2. 实现多选功能 由于这个前端框架使用逻辑比较复杂我也是第一次使用,所以只记录核心问题 环境:vue3,typescript,fast-crud ,elementPlus 效果 代码 // crud.tsx文件(/.ts也行 js应…

【伪随机数】关于排序算法自测如何生成随机数而引发的……

以 Random 开始 可能一开始&#xff0c;你只是写到了排序算法如何生成随机数 public static void main(String[] args) {Random random new Random();int[] nums new int[10];for (int i 0; i < nums.length; i) {nums[i] random.nextInt(100);}System.out.println(&q…

项目概述、开发环境搭建(day01)

软件开发整体介绍 软件开发流程 第1阶段: 需求分析 需求规格说明书&#xff0c; 一般来说就是使用 Word 文档来描述当前项目的各个组成部分&#xff0c;如&#xff1a;系统定义、应用环境、功能规格、性能需求等&#xff0c;都会在文档中描述。产品原型&#xff0c;一般是通过…

1Hive概览

1Hive概览 1hive简介2hive架构3hive与Hadoop的关系4hive与传统数据库对比5hive的数据存储 1hive简介 Hive是基于Hadoop的一个数据仓库工具&#xff0c;可以将结构化的数据文件映射为一张数据库表&#xff0c;并提供类SQL查询功能。 其本质是将SQL转换为MapReduce/Spark的任务进…

Hive迁移,小表(10G以下的),分区快速修复批量脚本

hive迁移要迁移元数据&#xff08;mysql&#xff09;&#xff0c;要迁移实际数据hdfs&#xff0c;迁移完后如果有分区&#xff0c;通常是不能访问的。 这里就要修复分区了&#xff0c;如果是大表&#xff0c;几十T这种&#xff0c;迁移可能花了24小时&#xff0c;那么你修复分…

Vulnhub DC-9靶机实战

前言 这里说一下这个靶机的难点 1.这次sql注入是两个库的&#xff0c;在不使用sqlmap的情况下很多人直接database()看数据库&#xff0c;另一个库反倒没关注 2.nmap的扫描方式如果用-sT的tcp连接扫端口的话是扫不到那些被防火墙过滤的端口的&#xff0c;直接nmap ip就可以 3…

快速、可靠且高性价比的定制IP模式提升芯片设计公司竞争力

作者&#xff1a;Karthik Gopal&#xff0c;SmartDV Technologies亚洲区总经理 智权半导体科技&#xff08;厦门&#xff09;有限公司总经理 无论是在出货量巨大的消费电子市场&#xff0c;还是针对特定应用的细分芯片市场&#xff0c;差异化芯片设计带来的定制化需求也在芯片…

【Git版本控制器--1】Git的基本操作--本地仓库

目录 初识git 本地仓库 认识工作区、暂存区、版本库 add操作与commit操作 master文件与commit id 修改文件 版本回退 撤销修改 删除文件 初识git Git 是一个分布式版本控制系统&#xff0c;主要用于跟踪文件的更改&#xff0c;特别是在软件开发中。 为什么要版本…

2025宝塔API一键建站系统PHP源码

源码介绍 2025宝塔API一键建站系统PHP源码&#xff0c;对接自己的支付&#xff0c;虚拟主机也能搭建&#xff0c;小白式建站系统&#xff0c;基于宝塔面板搭建的建站系统&#xff0c;功能丰富&#xff0c;多款模板&#xff0c;每日更新 上传源码到服务器&#xff0c;浏览器访问…

在IDEA上运行Java项目

新建一个项目&#xff0c;下面创建模块&#xff0c;然后在src下新建包名&#xff0c;最后见类&#xff08;class&#xff09; 设置主题 settings>apparence 设置字体 Editor> Font 设置注释 Editor>Color Scheme>Language Defaults>Comments 设置自动导包 …

2025年01月13日Github流行趋势

1. 项目名称&#xff1a;Jobs_Applier_AI_Agent 项目地址url&#xff1a;https://github.com/feder-cr/Jobs_Applier_AI_Agent项目语言&#xff1a;Python历史star数&#xff1a;25929今日star数&#xff1a;401项目维护者&#xff1a;surapuramakhil, feder-cr, cjbbb, sarob…

DHCP、MSTP+VRRP总结实验

R1即使服务器&#xff08;给予dhcp的地址的&#xff09; [LSW1]int Eth-Trunk 12 [LSW1-Eth-Trunk12]mode manual load-balance //配置链路聚合模式为手工负载分担模式 [LSW1-Eth-Trunk12]load-balance src-dst-mac //配置基于源目IP的负载分担模式[LSW1-Eth-Trunk12]trunk p…

【ArcGIS初学】产生随机点计算混淆矩阵

混淆矩阵&#xff1a;用于比较分类结果和地表真实信息 总体精度(overall accuracy) :指对角线上所有样本的像元数(正确分类的像元数)除以所有像元数。 生产者精度(producers accuracy) &#xff1a;某类中正确分类的像元数除以参考数据中该类的像元数(列方向)&#xff0c;又称…

有一台服务器可以做哪些很酷的事情

有一台服务器可以做哪些很酷的事情 今天我也来简单分享一下&#xff0c;这几年来&#xff0c;我用云服务器做了哪些有趣的事情。 服务器推荐 1. 个人博客 拥有个人服务器&#xff0c;你可以完全掌控自己的网站或博客。 与使用第三方托管平台相比&#xff0c;你能自由选择网站…