2014-07-02 14 views
19

Ngay trước khi bạn thở dài và đánh dấu câu hỏi này là một bản sao, tôi có thể cho bạn biết, nó không phải là.Lựa chọn thay thế để Resharper

Tôi đã nhìn thấy rất nhiều câu hỏi về cách thay thế Resharper bằng một thứ khác, nhưng most của them nằm ngoài số date. Tôi muốn nhận được câu hỏi này được nêu ra một lần nữa với quan điểm về tình hình hiện tại trong thế giới của các phần mở rộng VS.

Tôi đã sử dụng R # trong 2 năm qua và đã thanh toán hết túi của tôi cho V7 và để nâng cấp lên V8. Nhưng ngày càng nhiều tôi sử dụng nó, tôi cảm thấy nó là một kéo! Kéo tài nguyên CPU và kéo cố gắng chống lại điều đẫm máu. Visual Studio là chậm khủng khiếp với nó được kích hoạt. Một trong những dự án tôi làm việc có 230K dòng mã và R # rất chậm ở đó!

Tôi muốn Resharper là mô-đun và tôi có thể tắt hầu hết các tính năng của nó.

Tôi đã cố gắng suất Power Tools và họ thêm rất nhiều giá trị, nhưng không có chức năng quan trọng tôi là sau khi

Dù sao, câu hỏi của tôi là: những gì các phần mở rộng có thể làm như sau:

  1. Á hậu thử nghiệm tốt. Bạn có thể nhấp chuột phải vào bài kiểm tra và nói Run. Á hậu thử nghiệm VS gốc là khủng khiếp.

  2. Tái cấu trúc. Một số cấu trúc lại được trình bày trong VS nguyên bản là tốt đẹp, nhưng bất cứ điều gì trong quá khứ giải nén một biến là không tồn tại. Đổi tên là rất tốt đẹp trong R #, nhưng tôi chưa bao giờ thấy điều này được thực hiện bất cứ nơi nào khác.

Tôi biết câu hỏi này hơi lệch chủ đề - yêu cầu giới thiệu một sản phẩm. Nhưng mọi người đã hỏi những câu hỏi tương tự ở đây, vì thế tôi cũng quyết định hỏi.

Trả lời

44

Đây là một trong những câu hỏi chủ quan thường được đóng một cách nhanh chóng trên StackOverflow, bởi vì không chỉ có một câu trả lời. Đây là của tôi, và tôi sẽ cung cấp tuyên bố từ chối trách nhiệm điển hình: Tôi rất thiên vị đối với ReSharper. Tôi là một fan hâm mộ ReSharper lớn, đã sử dụng nó kể từ v2.5, tôi xây dựng plugins for ReSharper và tôi giữ các tab rất gần về những gì đang xảy ra tại JetBrains, bởi vì tôi thực sự yêu công ty đó!

Tôi sẽ thừa nhận: Hiệu suất ReSharper là điều gì đó đi kèm với mọi phiên bản duy nhất, năm này sang năm khác. Không có vấn đề bao nhiêu công việc nhóm ReSharper làm để cải thiện hiệu suất với mỗi phiên bản mới, điều này là đúng - một khi ReSharper được cài đặt trong Visual Studio, một hit hiệu suất đáng chú ý là cảm thấy - Visual Studio mất một chút thời gian để bắt đầu, tại một số (hiếm) trường hợp, gõ có thể chậm hơn, và nếu bạn có lớn tệp mã (vài nghìn dòng dài), ReSharper sẽ choke cố gắng mở chúng.

Sau khi đã nói tất cả điều đó - với giá trị bổ sung mà tôi nhận được từ ReSharper, tôi sẽ lấy chi phí hoạt động vào bất kỳ ngày nào! Không chỉ có đủ lời để tôi mô tả lợi ích của việc quen thuộc với công cụ này, mà bạn cảm thấy như một thượng cổ tuyệt đối không có nó. Dayjob của tôi đang phát triển một Visual Studio debugging extension và bất cứ khi nào tôi cài đặt Visual Studio sạch trong Máy ảo để thử nghiệm, tôi đang gặp phải sự cố đau khổ, vì vanilla VS thiếu rất nhiều tính năng có vẻ hiển nhiên (ví dụ: trích xuất (giới thiệu) biến/trường, phương thức nội tuyến, đổi tên ở mọi nơi (như bạn đã đề cập), chưa kể điều hướng tới tất cả các lỗi trong giải pháp mà không cần phải biên dịch lại và nhiều hơn nữa).

Tôi đã đề cập rằng tôi thành kiến, nhưng tôi sẽ cố gắng trả lời câu hỏi thực tế của bạn. Có thể bạn đã nghe nói về Roslyn. Nếu không, Roslyn là tên của thế hệ tiếp theo .NET compiler platform mà Microsoft đã làm việc trong vài năm qua. Nền tảng mới này cung cấp các API cho phép các tác giả mở rộng của Visual Studio xây dựng các chẩn đoán và tái cấu trúc/sửa mã rất giống với ReSharper. Vì vậy, tương tự, trên thực tế, Microsoft chỉ lấy bóng đèn của ReSharper và đặt nó trong Visual Studio!

Phiên bản tiếp theo của Visual Studio (hiện được gọi là Visual Studio "14", đang ở giai đoạn xem trước) hoàn toàn được hỗ trợ bởi Roslyn, và đi ra khỏi hộp với một số tính năng "giống như ReSharper", chẳng hạn như đổi tên (ảnh chụp màn hình bên dưới) và các chẩn đoán khác. SDK đi kèm với các mẫu, cho phép bạn xây dựng chẩn đoán và tái cấu trúc của riêng bạn, bằng cách sử dụng API phong phú, hiện đại. Microsoft đã làm một công việc tốt trong việc tạo ra tất cả những thứ có thể truy cập được cho các nhà phát triển "bình thường", vì vậy bạn không phải là một chuyên gia biên dịch để tự mình xây dựng những thứ đó.

Tôi sẽ nói điều này: trình biên dịch là HARD. Cho dù API hoặc nền tảng có tốt đến đâu, số lượng công việc cần thiết để bao gồm tất cả trường hợp góc là điên. Phải mất gần 10 năm để ReSharper có được ngày hôm nay, tính năng thông minh. Nó sẽ có ít nhất một vài tốt hơn năm cho đến khi Visual Studio bắt kịp (hầu hết) chúng. Đã có free extensions được xây dựng trên đầu trang của Roslyn, giới thiệu một số chẩn đoán và tái cấu trúc mới.

Tóm lại, tôi tin Roslyn sẽ cung cấp giải pháp thay thế đầy đủ cho ReSharper trong tương lai không gần tương lai. Nhiều tiện ích mở rộng miễn phí sẽ được tạo và bạn sẽ chỉ có thể cài đặt các tiện ích bạn muốn. Một lưu ý về các phần mở rộng miễn phí, giống như bạn đã đề cập trong câu hỏi - chúng có xu hướng trở nên lỗi thời và biến mất. Sẽ không có ai phàn nàn về lỗi và vấn đề hiệu suất của chính họ.

Chỉnh sửa Tương tự, theo cách này, đối với bất kỳ thương mại thay thế nào khác "ReSharper", đó là lý do tại sao tôi thậm chí không bận tâm đến các công cụ khác. Tất cả đều có ưu và nhược điểm. Đó là vào bạn để quyết định những gì là đủ.

Hy vọng điều này sẽ hữu ích!

Roslyn Rename

+2

Đó là câu trả lời phức tạp! Cảm ơn bạn đã nỗ lực của bạn! Có, tôi khá biết Roslyn và VS2014, tôi đã cài đặt VS2014 và chơi với nó một chút. Và tôi không cảm thấy như thượng cổ, bởi vì rất nhiều thứ R # là nguyên bản trong VS mới. Tôi đoán tôi sẽ phải chờ cho đến khi VS2014 được phát hành và sau đó đánh giá tôi cần R # bao nhiêu. – trailmax