使用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.rhkb.cn/news/1709.html

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

相关文章

一个使用 Golang 编写的新一代网络爬虫框架,支持JS动态内容爬取

大家好,今天给大家分享一个由ProjectDiscovery组织开发的开源“下一代爬虫框架”Katana,旨在提供高效、灵活且功能丰富的网络爬取体验,适用于各种自动化管道和数据收集任务。 项目介绍 Katana 是 ProjectDiscovery 精心打造的命令行界面&…

【Redis】初识Redis

目录 Redis简介 Redis在内存中存储数据 Redis数据库中的应用 Redis缓存中的应用 Redis消息中间件 尾言 Redis简介 如下是Redis官网中,对Redis的一段描述 在这段描述中,我们提取如下关键要点: Redis主要用于在内存中存储数据Redis可…

IDEA的Git界面(ALT+9)log选项不显示问题小记

IDEA的Git界面ALT9 log选项不显示问题 当前问题idea中log界面什么都不显示其他选项界面正常通过命令查询git日志正常 预期效果解决办法1. 检查 IDEA 的 Git 设置2. 刷新 Git Log (什么都没有大概率是刷新不了)3. 检查分支和日志是否存在4. 清理 IDEA 缓存 (我用这个成功解决)✅…

赤店商城系统点餐小程序多门店分销APP共享股东h5源码saas账号独立版全插件全开源

代码介绍 后端编程语言采用:PHP yii2.0框架 前端代码采用:UNIAPP框架环境要求 推荐选择服务器配置:2核4G内存3M带宽 linux操作系统 控制面板:宝塔面板 运行环境:PHP7.2MYSQL5.7 赤店商城系统是一款集点餐小程序、多门…

穷举vs暴搜vs深搜vs回溯vs剪枝系列一>优美的排列

题目: 解析: 部分决策树: 代码设计: 代码: private int count;private boolean[] check;public int countArrangement(int n) {check new boolean[n1];dfs(n,1);return count;} private void dfs(int n, int pos){…

【C++图论 拓扑排序】2392. 给定条件下构造矩阵|1960

本文涉及知识点 C图论 拓扑排序 LeetCode2392. 给定条件下构造矩阵 给你一个 正 整数 k ,同时给你: 一个大小为 n 的二维整数数组 rowConditions ,其中 rowConditions[i] [abovei, belowi] 和 一个大小为 m 的二维整数数组 colConditions…

Anaconda安装(2024最新版)

安装新的anaconda需要卸载干净上一个版本的anaconda,不然可能会在新版本安装过程或者后续使用过程中出错,完全卸载干净anaconda的方法,可以参考我的博客! 第一步:下载anaconda安装包 官网:Anaconda | The O…

SSE部署后无法连接问题解决

1. 问题现象 通过域名访问 https://api-uat.sfxs.com/sse/subscribe?tokenBearer%20eyJUxMiJ9.eyJhY2NvdW50IjoiYWRtaWZ0NvZGUiOiIwMDEiLCJyb2xidXNlcm5hbWUiOiLotoXnuqfnrqHnkIblkZgifQ.tlz9N61Y4 一直无法正常连接 2. 问题解决 nginx.conf进行配置 server {location /ss…

【优选算法篇】:分而治之--揭秘分治算法的魅力与实战应用

✨感谢您阅读本篇文章,文章内容是个人学习笔记的整理,如果哪里有误的话还请您指正噢✨ ✨ 个人主页:余辉zmh–CSDN博客 ✨ 文章所属专栏:优选算法篇–CSDN博客 文章目录 一.什么是分治算法1.分治算法的基本概念2.分治算法的三个步…

Unreal Engine 5 C++ Advanced Action RPG 八章笔记

第八章 Boss Enemy 2-Set Up Boss Character 创建Boss敌人流程 起始的数据UI战斗能力行为树 这集新建Boss敌人的蓝图与动画蓝图和混合空间,看看就行巨人在关卡中,它的影子被打破,更改当前项目中的使用的阴影贴图就可以解决 从虚拟阴影贴图更改为阴影贴图即可 3-Giant Start…

C#,图论与图算法,输出无向图“欧拉路径”的弗勒里(Fleury Algorithm)算法和源程序

1 欧拉路径 欧拉路径是图中每一条边只访问一次的路径。欧拉回路是在同一顶点上开始和结束的欧拉路径。 这里展示一种输出欧拉路径或回路的算法。 以下是Fleury用于打印欧拉轨迹或循环的算法(源)。 1、确保图形有0个或2个奇数顶点。2、如果有0个奇数顶…

day08_Kafka

文章目录 day08_Kafka课程笔记一、今日课程内容一、消息队列(了解)**为什么消息队列就像是“数据的快递员”?****实际意义**1、产生背景2、消息队列介绍2.1 常见的消息队列产品2.2 应用场景2.3 消息队列中两种消息模型 二、Kafka的基本介绍1、…

Vue3组件设计模式:高可复用性组件开发实战

Vue3组件设计模式:高可复用性组件开发实战 一、前言 在Vue3中,组件设计和开发是非常重要的,它直接影响到应用的可维护性和可复用性。本文将介绍如何利用Vue3组件设计模式来开发高可复用性的组件,让你的组件更加灵活和易于维护。 二、单一职责…

《使用人工智能心脏磁共振成像筛查和诊断心血管疾病》论文精读

Screening and diagnosis of cardiovascular disease using artificial intelligence-enabled cardiac magnetic resonance imaging 心脏磁共振成像 (CMR) 是心脏功能评估的黄金标准,在诊断心血管疾病 (CVD) 中起着至关重要的作用。然而,由于 CMR 解释的…

幂次进近

数学题。 令n-m^k的绝对值最小,即n-m^k0,此时mn^(1/k)。 据题意要求,m只能取到正整数,那么,n^(1/k)结果恰为整时,其值即为答案,否则,答案为该值临近的两个整数中的一个&#xff0c…

RuoYi-Vue-Plus 加入 GitCode:驱动多租户后台管理创新发展

在当今数字化进程持续推进的时代背景下,企业对后台管理系统的要求不断攀升,高效、安全、灵活与可拓展性成为关键要素。近日,RuoYi-Vue-Plus 正式加入 GitCode,为多租户后台管理领域带来全新动力与机遇,有力推动行业技术…

STM32入门教程-示例程序(按键控制LED光敏传感器控制蜂鸣器)

1. LED Blink(闪烁) 代码主体包含:LED.c key.c main.c delay.c(延时防按键抖动) 程序代码如下(涉及RCC与GPIO两个外设): 1.使用RCC使能GPIO时钟 RCC_APB2PeriphClockC…

数据挖掘实训:天气数据分析与机器学习模型构建

随着气候变化对各行各业的影响日益加剧,精准的天气预测已经变得尤为重要。降雨预测在日常生活中尤其关键,例如农业、交通和灾害预警等领域。本文将通过机器学习方法,利用历史天气数据预测明天是否会下雨,具体内容包括数据预处理、…

Python在Excel工作表中创建数据透视表

在数据处理和分析工作中,Excel作为一个广泛使用的工具,提供了强大的功能来管理和解析数据。当面对大量复杂的数据集时,为了更高效地总结、分析和展示数据,创建数据透视表成为一种不可或缺的方法。通过使用Python这样的编程语言与E…

SpringBoot配置文件

大家好,我是小帅今天我来学习Web开发中的配置文件。 文章目录 1. 配置⽂件作⽤2. 配置⽂件入门3. 配置⽂件的格式4. properties 配置⽂件说明4.1 properties 基本语法4.2 读取配置⽂件(Value 注解)4.3 properties 缺点分析 5. yml 配置⽂件说…