Tôi muốn sử dụng các vùng để gấp mã trong Eclipse ; Làm thế nào điều đó có thể được thực hiện trong Java?
Một ví dụ sử dụng trong C # :
#region name
//code
#endregion
//region [Description]
và kết thúc với//endregion
Tôi muốn sử dụng các vùng để gấp mã trong Eclipse ; Làm thế nào điều đó có thể được thực hiện trong Java?
Một ví dụ sử dụng trong C # :
#region name
//code
#endregion
//region [Description]
và kết thúc với//endregion
Câu trả lời:
Không có tiêu chuẩn tương đương như vậy . Một số IDE - ví dụ như Intellij hoặc Eclipse - có thể gập lại tùy thuộc vào các loại mã liên quan (hàm tạo, nhập khẩu, v.v.), nhưng không có gì giống như vậy #region
.
Jet Brains IDEA có tính năng này. Bạn có thể sử dụng phím nóng bao quanh cho điều đó (ctrl + alt + T). Đó chỉ là tính năng IDEA.
Các khu vực trông như thế này:
//region Description
Some code
//endregion
Với Android Studio, hãy thử điều này:
//region VARIABLES
private String _sMyVar1;
private String _sMyVar2;
//endregion
Cẩn thận: không có dòng trống nào sau // vùng ...
Và bạn sẽ nhận được:
Không có ngôn ngữ tương đương ... Dựa trên IDE ...
Ví dụ trong netbeans:
NetBeans / Creator hỗ trợ cú pháp này:
// <editor-fold defaultstate="collapsed" desc="Your Fold Comment">
...
// </editor-fold>
Đối với IDE Eclipse , plugin Coffee-Bytes có thể làm điều đó, liên kết tải xuống ở đây .
BIÊN TẬP:
Tính năng gấp mã tùy chỉnh có thể được thêm vào nhật thực bằng cách sử dụng plugin gấp mã CoffeeScript.
Điều này đã được thử nghiệm để làm việc với nhật thực Luna và Juno. Dưới đây là các bước
Tải về plugin từ đây
Trích xuất nội dung lưu trữ
Điều hướng Window >Preferences >Java >Editor >Folding >Select folding to use: Coffee Bytes Java >General tab >Tick checkboxes in front of User Defined Fold
Tạo vùng mới như được hiển thị:
Khởi động lại Eclipse.
Hãy thử nếu gấp hoạt động với các nhận xét có tiền tố với các định danh bắt đầu và kết thúc được chỉ định
Bạn có thể tải về kho lưu trữ và tìm các bước tại Blog này .
Đây là một tính năng IDE nhiều hơn là một tính năng ngôn ngữ. Netbeans cho phép bạn xác định các định nghĩa gấp của riêng bạn bằng cách sử dụng định nghĩa sau:
// <editor-fold defaultstate="collapsed" desc="user-description">
...any code...
// </editor-fold>
Như đã lưu ý trong bài viết, điều này cũng có thể được hỗ trợ bởi các biên tập viên khác, nhưng không có gì đảm bảo.
cách nhanh nhất trong
Android Studio
(hoặcIntelliJ IDEA
)
highlight the code
bạn muốn bao quanh nóctrl
+ alt
+t
c
==> sau đó nhập mô tảTrái với những gì hầu hết đang đăng, đây KHÔNG phải là một điều IDE. Đó là một điều ngôn ngữ. #Region là một câu lệnh C #.
Tôi đã đến từ C # sang java và gặp cùng một vấn đề và sự thay thế chính xác và tốt nhất cho khu vực là một cái gì đó như dưới đây (làm việc trong Android Studio, không biết về intelliJ):
//region [Description]
int a;
int b;
int c;
//endregion
các phím tắt như dưới đây:
1- chọn mã
2- bấm ctrl
+ alt
+t
3- nhấn c
và viết mô tả của bạn
Cách tốt nhất
//region DESCRIPTION_REGION
int x = 22;
// Comments
String s = "SomeString";
//endregion;
Mẹo: Đặt ";" ở cuối "endregion"
Nếu bất cứ ai quan tâm, trong Eclipse, bạn có thể thu gọn tất cả các phương thức của mình, v.v. chỉ trong một lần, chỉ cần nhấp chuột phải khi bạn thường chèn một điểm dừng, nhấp vào 'Folding'> 'Thu gọn tất cả'. Nó biết đó không phải là một câu trả lời cho câu hỏi, mà chỉ cung cấp một giải pháp thay thế cho việc gấp mã nhanh.
#region
// code
#endregion
Thực sự chỉ mang lại cho bạn bất kỳ lợi ích trong IDE. Với Java, không có tiêu chuẩn nào được thiết lập trong IDE, vì vậy thực sự không có tiêu chuẩn song song nào #region
.
region
, thì chúng ta có thể chắc chắn rằng java IDE sẽ hỗ trợ không?
Trên thực tế là johann, #
chỉ ra rằng đó là một chỉ thị tiền xử lý, về cơ bản có nghĩa là nó cho IDE biết phải làm gì.
Trong trường hợp sử dụng #region
và #endregion
trong mã của bạn, điều đó làm cho KHÔNG có sự khác biệt trong mã cuối cùng cho dù nó có ở đó hay không. Bạn thực sự có thể gọi nó là một yếu tố ngôn ngữ nếu sử dụng nó không thay đổi gì?
Ngoài ra, java không có các chỉ thị tiền xử lý, điều đó có nghĩa là tùy chọn gập mã được xác định trên cơ sở mỗi ide, ví dụ như trong netbeans với câu lệnh // <code-Fold>
Trên Mac và Android Studio theo trình tự này:
<editor-fold>
Ngoài ra, bạn có thể chọn các tùy chọn khác:
Trong Eclipse, bạn có thể thu gọn khối đóng gói biến vùng. Gần nhất là làm một cái gì đó như thế này:
public class counter_class
{
{ // Region
int variable = 0;
}
}
Chỉ cần intall và kích hoạt plugin Coffee-Bytes (Eclipse)
Có một số tùy chọn để đạt được điều tương tự, Thực hiện theo các điểm dưới đây.
1) Mở trình thám hiểm Macro:
2) Tạo macro mới:
3) Đặt tên là "OutlineRegions" (Hoặc bất cứ điều gì bạn muốn)
4) Nhấp chuột phải vào "OutlineRegions" (Hiển thị trên Macro Explorer) chọn tùy chọn "Chỉnh sửa" và dán mã VB sau vào đó:
Imports System
Imports EnvDTE
Imports EnvDTE80
Imports EnvDTE90
Imports EnvDTE90a
Imports EnvDTE100
Imports System.Diagnostics
Imports System.Collections
Public Module OutlineRegions
Sub OutlineRegions()
Dim selection As EnvDTE.TextSelection = DTE.ActiveDocument.Selection
Const REGION_START As String = "//#region"
Const REGION_END As String = "//#endregion"
selection.SelectAll()
Dim text As String = selection.Text
selection.StartOfDocument(True)
Dim startIndex As Integer
Dim endIndex As Integer
Dim lastIndex As Integer = 0
Dim startRegions As Stack = New Stack()
Do
startIndex = text.IndexOf(REGION_START, lastIndex)
endIndex = text.IndexOf(REGION_END, lastIndex)
If startIndex = -1 AndAlso endIndex = -1 Then
Exit Do
End If
If startIndex <> -1 AndAlso startIndex < endIndex Then
startRegions.Push(startIndex)
lastIndex = startIndex + 1
Else
' Outline region ...
selection.MoveToLineAndOffset(CalcLineNumber(text, CInt(startRegions.Pop())), 1)
selection.MoveToLineAndOffset(CalcLineNumber(text, endIndex) + 1, 1, True)
selection.OutlineSection()
lastIndex = endIndex + 1
End If
Loop
selection.StartOfDocument()
End Sub
Private Function CalcLineNumber(ByVal text As String, ByVal index As Integer)
Dim lineNumber As Integer = 1
Dim i As Integer = 0
While i < index
If text.Chars(i) = vbCr Then
lineNumber += 1
i += 1
End If
i += 1
End While
Return lineNumber
End Function
End Module
5) Lưu macro và đóng trình chỉnh sửa.
6) Bây giờ hãy gán phím tắt cho macro. Chuyển đến Công cụ-> Tùy chọn-> Môi trường-> Bàn phím và tìm kiếm macro của bạn trong "hiển thị các lệnh chứa" hộp văn bản (Loại: Macro vào hộp văn bản, nó sẽ gợi ý tên macro, chọn tên của bạn.)
7) bây giờ trong hộp văn bản trong "Bấm phím tắt", bạn có thể nhập phím tắt mong muốn. Tôi sử dụng Ctrl + M + N.
Sử dụng:
return
{
//Properties
//#region
Name:null,
Address:null
//#endregion
}
8) Bấm phím tắt đã lưu
Xem kết quả dưới đây:
This code seems to be for Visual Basic.NET
sẽ đề xuất IDE Visual Studio
.
#region
và#endregion