The purpose of this extension is to navigate Rails files with the help of shortcuts.
Template engines .erb, .slim, and haml are already supported for view files. They can be customized by changing navigateRailsFiles.templateEngines in the VSCode settings.
RSpec is used for test files, but Minitest has not been supported yet.
ViewComponent is supported out of the box. If sidecar directories are being used, set navigateRailsFiles.useViewComponentsSidecar to true.
Navigate to Ruby Files
Shortcut: Alt + I
Navigate to Files Ending with .html
Shortcut: Alt + O
Files ending with template engines (erb, slim, and haml as default or custom ones) are checked one-by-one.
If there is no html file, a turbo_stream file is opened if it exists.
The order of checked files is as follows: html.erb, html.slim, html.haml, turbo_stream.erb, turbo_stream.slim, and turbo_stream.haml.
Navigate to Files Ending with .turbo_stream
Shortcut: Alt + U
Navigate to Test Files
Shortcut: Alt + P
Extension Settings
This extension contributes the following settings:
navigateRailsFiles.allowToOpenRbFile: Allows using the shortcut to open Ruby files ("true" by default).
navigateRailsFiles.allowToOpenAppHtmlFile: Allows using the shortcut to open view (.html) files ("true" by default).
navigateRailsFiles.allowToOpenAppTurboStreamFile: Allows using the shortcut to open view (.turbo_stream) files ("true" by default).
navigateRailsFiles.allowToOpenRspecFile: Allows using the shortcut to open test (RSpec) files ("true" by default).
How to Test the Extension Locally
Press "F1" and select "Debug: Select and Start Debugging." Then select "Extension Tests."
How to Use a Custom Version of the Extension
The extension can be customized by any developer easily. Please follow the steps below to use your custom version.
Clone the repository.
Run npm install -g @vscode/vsce to install vsce if necessary.
Customize any part of the project.
Run vsce package.
Open your VSCode.
Press "F1" and select "Extensions: Install from VSIX." Then, select the generated file ending with .vsix.