Chcę używać regionów do zwijania kodu w Eclipse ; jak można to zrobić w Javie?
Przykładowe użycie w C # :
#region name
//code
#endregion
//region [Description]
i kończą na//endregion
Chcę używać regionów do zwijania kodu w Eclipse ; jak można to zrobić w Javie?
Przykładowe użycie w C # :
#region name
//code
#endregion
//region [Description]
i kończą na//endregion
Odpowiedzi:
Nie ma takiego standardowego odpowiednika. Niektóre środowiska IDE - na przykład Intellij lub Eclipse - mogą się spasować w zależności od zaangażowanych typów kodu (konstruktory, import itp.), Ale nic podobnego #region
.
Jet Brains IDEA ma tę funkcję. Możesz użyć do tego skrótu klawiszowego (ctrl + alt + T). To tylko funkcja IDEA.
Regiony tam wyglądają następująco:
//region Description
Some code
//endregion
W Android Studio spróbuj tego:
//region VARIABLES
private String _sMyVar1;
private String _sMyVar2;
//endregion
Ostrożnie: brak pustej linii po // regionie ...
I dostaniesz:
Brak odpowiednika w języku ... Na podstawie IDE ...
Na przykład w fasolkach sieciowych:
NetBeans / Creator obsługuje tę składnię:
// <editor-fold defaultstate="collapsed" desc="Your Fold Comment">
...
// </editor-fold>
W przypadku Eclipse IDE wtyczka Coffee-Bytes może to zrobić, link do pobrania jest tutaj .
EDYTOWAĆ:
Niestandardową funkcję składania kodu można dodać do środowiska Eclipse za pomocą wtyczki do składania kodu CoffeeScript.
Jest to testowane pod kątem współpracy z zaćmieniem Luna i Juno. Oto kroki
Pobierz wtyczkę stąd
Wyodrębnij zawartość archiwum
Nawigować Window >Preferences >Java >Editor >Folding >Select folding to use: Coffee Bytes Java >General tab >Tick checkboxes in front of User Defined Fold
Utwórz nowy region, jak pokazano:
Uruchom ponownie środowisko Eclipse.
Wypróbuj, jeśli składanie działa z komentarzami poprzedzonymi określonymi identyfikatorami początkowymi i końcowymi
Możesz pobrać archiwum i znaleźć kroki na tym blogu .
To bardziej funkcja IDE niż funkcja języka. Netbeans pozwala zdefiniować własne definicje składania przy użyciu następującej definicji:
// <editor-fold defaultstate="collapsed" desc="user-description">
...any code...
// </editor-fold>
Jak wspomniano w artykule, mogą to być również obsługiwane przez innych redaktorów, ale nie ma żadnych gwarancji.
najszybszy sposób w
Android Studio
(lubIntelliJ IDEA
)
highlight the code
chcesz go otoczyćctrl
+ alt
+t
c
==> następnie wprowadź opisAndroidStudio
region
Utwórz region
Najpierw znajdź (i w razie potrzeby zdefiniuj skrót) dla Surround With
menu
Następnie wybierz kod, naciśnij Ctrl+Alt+Semicolon
-> wybierzregion..endregion...
Idź do regionu
Najpierw znajdź Custom Folding
skrót
Po drugie, z dowolnego miejsca w kodzie naciśnijCtrl+Alt+Period('>' on keyboard)
W przeciwieństwie do tego, co większość publikuje, NIE jest to IDE. To jest kwestia języka. #Region to instrukcja w języku C #.
Przybyłem z języka C # do Javy i miałem ten sam problem, a najlepsza i dokładna alternatywa dla regionu jest podobna do poniższej (praca w Android Studio, nie wiem o intelliJ):
//region [Description]
int a;
int b;
int c;
//endregion
skrót jest jak poniżej:
1- wybierz kod
2- naciśnij ctrl
+ alt
+t
3- naciśnij c
i napisz swój opis
Najlepszym sposobem
//region DESCRIPTION_REGION
int x = 22;
// Comments
String s = "SomeString";
//endregion;
Wskazówka: wpisz „;” na końcu „regionu”
Jeśli ktoś jest zainteresowany, w Eclipse możesz zwinąć wszystkie swoje metody itp. Za jednym razem, po prostu kliknij prawym przyciskiem myszy, gdy normalnie wstawisz punkt przerwania, kliknij „Składanie”> „Zwiń wszystko”. Wie, że nie jest to odpowiedź na pytanie, ale stanowi jedynie alternatywę dla szybkiego zwijania kodu.
#region
// code
#endregion
Naprawdę daje ci tylko korzyści w IDE. W Javie nie ma ustalonego standardu w IDE, więc tak naprawdę nie ma standardu równoległego #region
.
region
, możemy być pewni, że IDE Java będzie obsługiwać, prawda?
Właściwie John, #
oznacza, że jest to dyrektywa preprocesorowa, co w zasadzie oznacza, że mówi IDE, co ma robić.
W przypadku użycia #region
iw #endregion
kodzie NIE ma znaczenia, czy kod końcowy jest obecny, czy nie. Czy naprawdę można nazwać go elementem języka, jeśli jego użycie niczego nie zmienia?
Poza tym java nie ma dyrektyw preprocesora, co oznacza, że opcja składania kodu jest definiowana na podstawie idei, w netbeans na przykład za pomocą instrukcji // <code-fold>
Na komputerach Mac i Android Studio wykonaj następującą sekwencję:
<editor-fold>
Możesz także wybrać inne opcje:
W środowisku Eclipse można zwinąć nawiasy zawijające blok regionu zmiennego. Najbliższe jest zrobienie czegoś takiego:
public class counter_class
{
{ // Region
int variable = 0;
}
}
Wystarczy zainstalować i włączyć wtyczkę Coffee-Bytes (Eclipse)
Istnieje kilka opcji, aby osiągnąć to samo. Postępuj zgodnie z poniższymi punktami.
1) Otwórz Eksploratora makr:
2) Utwórz nowe makro:
3) Nazwij go „OutlineRegions” (lub cokolwiek chcesz)
4) Kliknij prawym przyciskiem myszy opcję „OutlineRegions” (wyświetlana w Eksploratorze makr), wybierz opcję „Edytuj” i wklej do niej następujący kod VB:
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) Zapisz makro i zamknij edytor.
6) Teraz przypiszmy skrót do makra. Przejdź do Narzędzia-> Opcje-> Środowisko-> Klawiatura i wyszukaj swoje makro w polu tekstowym „pokaż polecenia zawierające” (wpisz: Makro w polu tekstowym, zasugeruje nazwę makra, wybierz swoją).
7) teraz w polu tekstowym pod „Naciśnij klawisze skrótu” możesz wprowadzić żądany skrót. Używam Ctrl + M + N.
Posługiwać się:
return
{
//Properties
//#region
Name:null,
Address:null
//#endregion
}
8) Naciśnij zapisany klawisz skrótu
Zobacz wynik poniżej:
This code seems to be for Visual Basic.NET
co sugeruje, że IDE jest Visual Studio
.
#region
i#endregion