RubyMine: Code Insight cho Ruby và Rails

Nếu bạn đang làm việc với Ruby hoặc Rails, chắc bạn đã nghe nói về RubyMine .

RubyMine là một IDE cho Ruby và Rails do JetBrains phát triển. Nó đã được khoảng gần 10 năm và số người dùng rất lớn. Tuy nhiên, khi chúng ta tới các sự kiện và chương trình của ngành, chúng ta thường đặt câu hỏi: "RubyMine có thể làm điều gì mà một trình soạn thảo văn bản không thể?" . Không phải là tôi đang cố gắng giảm giá trị của các trình soạn thao miễn phí, nhưng phải nói "có rất nhiều" Là câu trả lời thông thường của tôi khi chạy IDE cho một bản demo nhanh. Trong bài đăng này, tôi muốn nói với bạn về điều quan trọng khiến RubyMine nổi bật: **Code Insight **.

Code Insight bao gồm những thứ như hoàn thành code thông minh, điều hướng code, kiểm tra ngôn ngữ cụ thể với các bản sửa lỗi nhanh, thông báo thông minh và tài liệu hướng dẫn nhanh chóng trong trình biên tập.

Tự động hoàn thành code

Tính năng này không cần bất kỳ giới thiệu nào vì nó tồn tại trong tất cả các trình biên tập phổ biến. Tuy nhiên, tính năng tự động hoàn thành của RubyMine không giới hạn trong các từ khóa được tích hợp trong Ruby / Rails và tự động hoàn thành văn bản. Nó có thể tự động hoàn thành hầu hết các đối tượng liên quan đến bất kể nó được định nghĩa ở đâu. Bạn không cần phải mở một tập tin trong một tab riêng biệt để tự động hoàn thành bất kỳ khai báo nào từ nó - RubyMine biết tất cả mọi thứ trong dự án của bạn!

Nói, bạn đang tạo một bảng mới. RubyMine sẽ đề xuất tùy chọn tự động hoàn thành các loại cột và thuộc tính có liên quan như bạn mong đợi:

Bạn có muốn quyền truy cập vào các cột sau đó, khi bạn đang làm việc trên model? Tất nhiên bạn có, và IDE sẽ làm điều đó cho bạn giống như cách nó tự động hoàn tất tất cả các công cụ tích hợp Rails:

Khả năng tự động hoàn thành các method được xác định trước đó trong model, khi dùng trong controller hay các file ruby khác như thế nào? Bạn sẽ thấy sau đây:

IDE sẽ không đưa ra các gợi ý cho tên cột chỗ mà bạn mong đợi các phương thức được xác định trong model đã cho và ngược lại. Đây là một tính năng rất quan trọng làm cho RubyMine nổi bật so với các biên tập viên khác.

Đi tới nơi được khai báo, định nghĩa

Khi tôi nói chuyện với khách hàng, tôi luôn hỏi họ về tính năng RubyMine yêu thích của họ là gì. Phản hồi hàng đầu của mọi thời đại là "Đi đến nơi khai báo!"

Không nghi ngờ gì nữa, IDE đã chứng tỏ được sự đáng tin cậy hơn khi điều hướng tới các khai báo. Chỉ cần sử dụng ⌘ + Nhấp chuột | Ctrl + Click (hoặc ⌘ + B | Ctrl + B nếu bạn đặt dấu nháy vào đối tượng mong muốn) và đi tới định nghĩa bạn cần:

Không chỉ thế bạn có thể dễ dàng chuyển đến Class, method hoặc bất kỳ tuyên bố object nào khác trong dự án của bạn, bạn cũng có thể điều hướng tới các định nghĩa của gem và các object của chúng.

Tôi đã cố gắng để tìm một số plugin khác có thể làm tương tự như vậy, nhưng chúng không hỗ trợ nhiều.

Phân tích tĩnh

Điều tôi thích ở Atom là việc làm highlight cú pháp. Nó sẽ không để tôi bỏ lỡ một thẻ đóng hoặc end. Tôi cũng phát hiện ra nó là plugin tuyệt vời với việc nhấn mạnh tất cả các lỗi RuboCop và thậm chí cho phép tự động sửa lỗi cho tệp.

Tôi muốn nói rằng việc hỗ trợ RuboCop này là một trong những thứ tốt nhất có trong RubyMine. Nhưng với phiên bản mới nhất của RubyMine 2017.3 , bạn không chỉ có thể sửa lỗi RuboCop, mà còn có thể xem bạn có muốn tự động sửa tất cả các lỗi cú pháp có thể xảy ra. Bạn nhận được tất cả điều này trong 1 box, ngay từ trình soạn thảo khi nhấn nhấn Alt + Enter:

Đối với kiểm tra cú pháp, RubyMine chắc chắn đủ thông minh để cung cấp highlight cú pháp cơ bản cho Ruby, Rails, JavaScript, HTML, CSS, ERB, ... Trên hết, IDE có một số khả năng hữu ích, như khả năng chuyển đổi do … end sang các khối {}, hoặc sửa đổi các câu lệnh cho các điều kiện. Tìm và áp dụng các thông số này bằng Alt + Enter:

Ngoài việc phân tích tĩnh, RubyMine thậm chí cung cấp một bộ kiểm tra RegExp tích hợp sẵn:

Như bạn mong đợi, bạn có thể tìm thấy,kiểm tra dễ dàng kích hoạt hoặc vô hiệu hóa cài đặt.

Tuy nhiên, một lợi ích khác của Code Insight là gợi ý về tên param:

Một sự gợi ý tên param là thông qua thông tin param có thể được kích hoạt bằng cách nhấn ⌘ + P | Ctrl + P.

Thông báo và action thông minh

Là một tính năng khác của IDE, RubyMine cung cấp việc thông báo thông minh giúp người dùng không bao giờ quên các tác vụ thông thường, như cấu hình các nguồn dữ liệu lỗi, hoặc chạy bundle install sau khi thêm một gem mới vào Gemfile.

Có nhiều action thông minh rất có ích. Ví dụ, RubyMine có một phím tắt để điều hướng nhanh chóng giữa một thực thể Rails, ví dụ như một controller, và test của nó (Shift + ⌘ + T | Ctrl + Shift + T). Nếu như file test không tồn tại, RubyMine sẽ đề nghị tạo ra nó dựa trên khuôn khổ test mà bạn đã cài đặt. Nhưng nếu bạn không có bất kỳ cài đặt nào? Trong trường hợp này RubyMine sẽ thêm một gem bắt buộc vào Gemfile, cài đặt nó cho bạn, và sau đó điều hướng bạn đến file test của controller mới được tạo ra:

Nói về các thực thể Rails, bạn cũng có thể điều hướng tới biểu tượng Rails liên quan với ^ ⌘ ↑ / Ctrl + Alt + Home.

Tài liệu nhanh

Cuối cùng, RubyMine cung cấp tài liệu hướng dẫn trong trình soạn thảo nhanh cho các thực thể Ruby / Rails được xây dựng, cũng như các thực thể được khai báo trong ứng dụng. Điều này có nghĩa là bạn không cần phải lướt web mỗi lần quên hoặc tìm kiếm toàn bộ ứng dụng của bạn để khai báo phương pháp mà bạn không thể nhớ. Chỉ cần đặt dấu nháy vào một từ khoá bạn muốn tìm kiếm, và nhấn F1.

Bài báo này được tài trợ bởi JetBrains .

Tài liệu dịch: https://www.sitepoint.com/rubymine-code-insight-for-ruby-and-rails/