2012-04-26 13 views
6

Tôi đang cố gắng mở rộng SublimeLinter với một linter cho R. SublimeLinter cung cấp tự động linting trong Sublime Text 2 cho rất nhiều ngôn ngữ. Mục tiêu là các linter chạy trong nền và làm nổi bật các dòng với các lỗi mã hóa hoặc phong cách mã hóa xấu.Các tùy chọn để tích hợp một R linter trong một trình soạn thảo văn bản là gì? lint trong svTools, codetools vv

Hiện tại, tôi đang sử dụng chức năng lint trong gói svTools và đang hoạt động. Kết quả, tuy nhiên, không phải là mọi đáp ứng. Các thiêu đốt bắt đến nhiều ) trong một dòng hoặc nhiều } nhưng nó không phát hiện việc sử dụng các biến không xác định, không có kiểu mã hóa, v.v.

Có tùy chọn nào khác không? Tôi biết về cuộc thảo luận này Writing a R lint program, R CMD checkcodetools. Nhưng làm thế nào tôi có thể chạy R CMD check trên một tệp .r bình thường và không phải là một gói? Những lựa chọn nào nên được sử dụng cho một linter bay? Bất kỳ ý tưởng nào khác?

Cảm ơn!

chỉnh sửa: chức năng lint cũng không có vẻ là rất tốt trong việc phát hiện vị trí lỗi hoặc về cơ bản luôn chỉ ra cột 1. Ví dụ: fn = function(...) { ] cột 1 không phải là ] ở cuối.

ps: Tôi biết rằng lint chức năng là một wrapper cho checkUsage() ...

Trả lời

1

Hãy xem (lint tác giả) của Andrew github repository, đặc biệt NppToR cho ý tưởng về việc tích hợp trình biên tập.

Làm cách nào để chạy R CMD kiểm tra tệp .r bình thường, bạn có thể tạo bộ khung gói và sử dụng đường dẫn R làm bộ đệm cho tệp hiện đang được chỉnh sửa. Rõ ràng là tìm ra các tùy chọn kiểm tra R CMD tốt nhất/yêu cầu khi bạn đi; Mặc dù nó có thể dễ dàng hơn để đọc nguồn cho cách R CMD đang làm những gì nó làm, cũng như cách một số mã nguồn mở R IDE sử dụng và phân tích đầu ra (tức là: RStudio và báo cáo lỗi của nó).