Kod katlama için bölgeleri kullanmak istiyorum Eclipse ; Java ile bu nasıl yapılabilir?
C # 'da örnek kullanım :
#region name
//code
#endregion
//region [Description]
ve ile biten//endregion
Kod katlama için bölgeleri kullanmak istiyorum Eclipse ; Java ile bu nasıl yapılabilir?
C # 'da örnek kullanım :
#region name
//code
#endregion
//region [Description]
ve ile biten//endregion
Yanıtlar:
Böyle standart bir eşdeğeri yok. Bazı IDE'ler - örneğin Intellij veya Eclipse - dahil olan kod türlerine (yapıcılar, ithalatlar vb.) Bağlı olarak katlanabilir, ancak buna benzer bir şey yoktur #region
.
Jet Brains IDEA bu özelliğe sahiptir. Bunun için kısayol tuşu surround tuşunu kullanabilirsiniz (ctrl + alt + T). Sadece IDEA özelliği.
Oradaki bölgeler şöyle:
//region Description
Some code
//endregion
Android Studio ile şunu deneyin:
//region VARIABLES
private String _sMyVar1;
private String _sMyVar2;
//endregion
Dikkatli: // bölgeden sonra boş satır yok ...
Ve alacaksınız:
Dilde karşılığı yok ... IDE'lere dayanarak ...
Örneğin netbeans'te:
NetBeans / Creator bu sözdizimini destekler:
// <editor-fold defaultstate="collapsed" desc="Your Fold Comment">
...
// </editor-fold>
Eclipse IDE için Coffee-Bytes eklentisi bunu yapabilir, indirme linki burada .
DÜZENLE:
CoffeeScript kod katlama eklentisi kullanılarak tutulmaya özel kod katlama özelliği eklenebilir.
Tutulma Luna ve Juno ile çalıştığı test edilmiştir. İşte adımlar
Eklentiyi buradan indirin
Arşiv içeriğini çıkart
Gezin Window >Preferences >Java >Editor >Folding >Select folding to use: Coffee Bytes Java >General tab >Tick checkboxes in front of User Defined Fold
Gösterildiği gibi yeni bölge oluşturun:
Eclipse'i yeniden başlatın.
Katlamanın, belirtilen başlangıç ve bitiş tanımlayıcılarıyla ön ekli yorumlarla çalışıp çalışmadığını deneyin
Bu Blog'da da arşiv indirebilir ve adımlar bulabilirsiniz .
Bu, bir dil özelliğinden çok bir IDE özelliğidir. Netbeans , aşağıdaki tanımı kullanarak kendi katlama tanımlarınızı tanımlamanıza izin verir :
// <editor-fold defaultstate="collapsed" desc="user-description">
...any code...
// </editor-fold>
Makalede belirtildiği gibi, bu diğer editörler tarafından da desteklenebilir, ancak garanti yoktur.
Android Studio
(veyaIntelliJ IDEA
) içinde en hızlı yol
highlight the code
onu çevrelemek istiyorsunctrl
+ alt
+ tuşlarına basınt
c
==> tuşuna basın ve açıklamayı girinAndroidStudio
bölge Bölge
oluştur
ÖnceSurround With
menü
için bulun (ve gerekirse kısayolu tanımlayın)
Ardından kodu seçin, Ctrl+Alt+Semicolon
-> tuşuna basın.region..endregion...
Bölgeye git
İlk olarak, Custom Folding
kısayolu bulun
İkinci olarak, kodunuzun herhangi bir yerinden,Ctrl+Alt+Period('>' on keyboard)
Çoğu gönderinin aksine, bu bir IDE şey DEĞİLDİR. Bu bir dil şeyidir. #Region bir C # ifadesidir.
C # dan java geliyordu ve aynı sorunu vardı ve bölge için en iyi ve kesin alternatif aşağıdaki gibi bir şeydir (Android Studio'da çalışma, intelliJ hakkında bilmiyorum):
//region [Description]
int a;
int b;
int c;
//endregion
kısayol aşağıdaki gibidir:
1- kodu seçin
2- ctrl
+ alt
+ tuşlarına basınt
3- Basın c
ve açıklamanızı yazın
En iyi yol
//region DESCRIPTION_REGION
int x = 22;
// Comments
String s = "SomeString";
//endregion;
İpucu: ";" "son bölge" nin sonunda
Herkes ilgileniyorsa, Eclipse'de tüm yöntemlerinizi vb. Tek seferde daraltabilirsiniz, normalde bir kırılma noktası eklediğinizde sağ tıklayın, 'Katlama'> 'Tümünü Daralt'ı tıklayın. Bunun sorunun cevabı olmadığını, sadece hızlı kod katlama alternatifi olduğunu biliyor.
#region
// code
#endregion
Gerçekten sadece IDE size herhangi bir yarar sağlar. Java ile IDE'de belirlenmiş bir standart yoktur, bu yüzden buna paralel bir standart yoktur #region
.
region
, java IDE'lerin bunu destekleyeceğinden emin olabilir miyiz ?
Aslında johann, #
bunun bir önişlemci yönergesi olduğunu gösterir, bu da temel olarak IDE'ye ne yapacağını söylemesi anlamına gelir.
#region
Ve kullanılması durumunda#endregion
kodunuzda, onu orada olup olmadığına nihai kodunda YOK fark yaratıyor. Kullanmak hiçbir şey değiştirmezse buna gerçekten bir dil öğesi diyebilir misiniz?
Bunun dışında, java önişlemci direktiflerine sahip değildir, yani kod katlama seçeneği netbeans'te örneğin // <code-fold> ifadesiyle tanımlanır.
Mac ve Android Studio'da şu sırayı izleyin:
<editor-fold>
Ayrıca diğer seçenekleri de seçebilirsiniz:
Eclipse içinde değişken bölge bloğunu saran parantezleri daraltabilirsiniz. En yakın şey böyle bir şey yapmaktır:
public class counter_class
{
{ // Region
int variable = 0;
}
}
Coffee-Bytes eklentisini (Eclipse) yükleyin ve etkinleştirin
Aynı ulaşmak için bazı seçenek var, Aşağıdaki noktaları izleyin.
1) Açık Makro gezgini:
2) Yeni makro oluştur:
3) "OutlineRegions" olarak adlandırın (Ya da ne istersen)
4) "OutlineRegions" üzerine sağ tıklayın (Macro Explorer'da gösteriliyor) "Düzenle" seçeneğini seçin ve aşağıdaki VB kodunu yapıştırın:
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) Makroyu kaydedin ve düzenleyiciyi kapatın.
6) Şimdi makroya kısayol atayalım. Araçlar-> Seçenekler-> Çevre-> Klavye'ye gidin ve "içeren komutları göster" metin kutusunda makronuzu arayın (Metin kutusuna Tür: Makro, makroların adını önerir, sizinkini seçer.)
7) şimdi metin kutusuna "Kısayol tuşlarına basın" altında istediğiniz kısayolu girebilirsiniz. Ctrl + M + N kullanıyorum.
kullanın:
return
{
//Properties
//#region
Name:null,
Address:null
//#endregion
}
8) Kayıtlı kısayol tuşuna basın
Aşağıdaki sonuca bakın:
This code seems to be for Visual Basic.NET
IDE'nin olduğunu gösterir Visual Studio
.
#region
ve#endregion