🐡
VSCodeでRails開発環境を作る
RubyMineではなくてVSCodeで開発したかったので手順をメモしておく。
前提として、これを利用してRailsはインストール済みとする。
gemの追加
group :development
に以下を追加する。
gem "solargraph"
devcontainerの追加
VSCodeにコレを入れておく。
Dev Containers - Visual Studio Marketplace
./.devcontainer
ディレクトリを新規作成して、devcontainer.jsonを追加する。
{
"name": "Existing Docker Compose",
"dockerComposeFile": [
//2つ目のdocker-compose.ymlで1つ目の設定を上書きます
"../docker-compose.yml",
"docker-compose.yml"
],
"service": "web", //docker-compse.ymlで記載されている起動対象のサービス名、Railsのサービスを指定します
"workspaceFolder": "/app", //起動時に接続するディレクトリ
"customizations": {
"vscode": {
"extensions": [
"Shopify.ruby-lsp",
"castwide.solargraph",
"kaiwood.endwise",
"craigmaslowski.erb"
],
"settings": {
"editor.tabSize": 2,
"editor.formatOnSave": true,
"editor.renderWhitespace": "none",
"[ruby]": {
"editor.defaultFormatter": "castwide.solargraph"
},
"files.associations": { "*.erb": "erb" },
"emmet.includeLanguages": { "erb": "html" },
// Settings for Solargraph
// https://github.com/castwide/solargraph
"solargraph.useBundler": false,
"solargraph.diagnostics": false,
"solargraph.formatting": true, // Use Ctrl+Shift+P->Format to format
"solargraph.autoformat": false,
"solargraph.definitions": true,
"solargraph.completion": true,
"solargraph.references": true,
"solargraph.symbols": true,
"solargraph.rename": true,
"solargraph.hover": true,
// Settings for Ruby LSP
// https://github.com/Shopify/vscode-ruby-lsp
"rubyLsp.formatter": "none",
"rubyLsp.enabledFeatures": {
"diagnostics": false,
"formatting": false
}
}
}
},
"remoteUser": "root"
}
docker-compose.yml
services:
web:
# docker起動時にRailsが起動しないようにする
command: /bin/sh -c "while sleep 1000; do :; done"
solargraphの設定ファイルを追加する
.solargraph.yml
---
include:
- "**/*.rb"
exclude:
- spec/**/*
- test/**/*
- vendor/**/*
- ".bundle/**/*"
require:
- actioncable
- actionmailer
- actionpack
- actionview
- activejob
- activemodel
- activerecord
- activestorage
- activesupport
domains: []
reporters:
- rubocop
- require_not_found
- typecheck
formatter:
rubocop:
cops: safe
except: []
only: []
extra_args: []
require_paths: []
plugins: []
max_files: 5000
VSCodeでDockerを起動する
エディタの左隅にある、このアイコンをクリック。
コンテナーで再度開くを選択
Railsを起動してみる
ターミナルから rails s -b 0.0.0.0
を実行する。
localhost:3000
で起動が確認できた。
solargraphも動作しているっぽい。
Ruby LSPも動いているっぽい。
Discussion
しばらく使ってみて開発体験がまったく良くないのでRubyMineに帰りました…。