কীভাবে আপনি ভিজ্যুয়াল স্টুডিওতে জাভাস্ক্রিপ্টের জন্য অঞ্চলগুলির ওরফে কোড ধসের প্রয়োগ করতে পারেন?
জাভাস্ক্রিপ্টে যদি কয়েকশ লাইন থাকে তবে ভিবি / সি # এর মতো অঞ্চলগুলির সাথে কোড ফোল্ডিং ব্যবহার করে এটি আরও বোধগম্য হবে।
#region My Code
#endregion
কীভাবে আপনি ভিজ্যুয়াল স্টুডিওতে জাভাস্ক্রিপ্টের জন্য অঞ্চলগুলির ওরফে কোড ধসের প্রয়োগ করতে পারেন?
জাভাস্ক্রিপ্টে যদি কয়েকশ লাইন থাকে তবে ভিবি / সি # এর মতো অঞ্চলগুলির সাথে কোড ফোল্ডিং ব্যবহার করে এটি আরও বোধগম্য হবে।
#region My Code
#endregion
উত্তর:
এখানে ব্লগ এন্ট্রি এটি এবং এই এমএসডিএন প্রশ্নের ব্যাখ্যা করে ।
আপনাকে ভিজ্যুয়াল স্টুডিও 2003/2005/2008 ম্যাক্রো ব্যবহার করতে হবে।
বিশ্বস্ততার জন্য ব্লগ এন্ট্রি থেকে অনুলিপি করুন + আটকান:
OutlineRegions
Option Strict Off
Option Explicit Off
Imports System
Imports EnvDTE
Imports EnvDTE80
Imports System.Diagnostics
Imports System.Collections
Public Module JsMacros
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
মাইক্রোসফ্টের এখন ভিএস ২০১০-এর জন্য একটি এক্সটেনশন রয়েছে যা এই কার্যকারিতা সরবরাহ করে:
বিকাশকারীদের জন্য সুসংবাদ যা ভিজ্যুয়াল স্টুডিওর সর্বশেষ সংস্করণ নিয়ে কাজ করছে
ওয়েব এসেনশিয়ালস এই বৈশিষ্ট্য সঙ্গে আসছে।
দ্রষ্টব্য: ভিএস 2017 এর জন্য জাভাস্ক্রিপ্ট অঞ্চলগুলি ব্যবহার করুন : https://marketplace.visualstudio.com/items?itemName=MadsKristensen.JavaScriptRegions
এটা সহজ!
আপনি যে অংশটি ধসে যেতে চান তা চিহ্নিত করুন এবং,
জন্য Ctrl + এম + + এইচ
এবং এর বাম দিকে '+' চিহ্নটি প্রসারিত করতে।
যারা ভিজ্যুয়াল স্টুডিও 2012 ব্যবহার করছেন তাদের জন্য ওয়েব এসেন্সিয়ালস 2012 রয়েছে
যারা ভিজ্যুয়াল স্টুডিও 2015 ব্যবহার করছেন তাদের জন্য ওয়েব এসেসেন্টিয়াল 2015.3 উপস্থিত রয়েছে
ব্যবহার ঠিক @ প্রসাদ জিজ্ঞাসা করা মত
কোডের একটি বিভাগ চিহ্নিত করুন (যেকোন যৌক্তিক ব্লক নির্বিশেষে) এবং সিটিআরএল + এম + এইচ টিপুন এবং আপনি এই অঞ্চলটি সংযোগযোগ্য এবং প্রসারণযোগ্য এমন অঞ্চল হিসাবে নির্বাচনটিকে সংজ্ঞায়িত করবেন।
JSEnhancements ভিসুয়াল স্টুডিও ঠিকানার জন্য এই চমত্কারভাবে প্লাগইন।
একটি দুর্দান্ত উত্তরের জন্য 0A0D ধন্যবাদ । আমি এটি দিয়ে ভাগ্য ভালো ছিল। ডারিন দিমিত্রভ আপনার জেএস ফাইলগুলির জটিলতা সীমাবদ্ধ করার বিষয়েও একটি ভাল যুক্তি তৈরি করে। তবুও, আমি এমন অনুষ্ঠানগুলি খুঁজে পাই যেখানে তাদের সংজ্ঞাগুলিতে ফাংশনগুলি সঙ্কুচিত করা কোনও ফাইলের মাধ্যমে ব্রাউজিংকে আরও সহজ করে তোলে।
সাধারণভাবে #region সম্পর্কিত, এই এসও প্রশ্নটি এটি বেশ ভালভাবে কভার করে।
আরও উন্নত কোড ধসকে সমর্থন করার জন্য আমি ম্যাক্রোতে কয়েকটি পরিবর্তন করেছি। এই পদ্ধতিটি আপনাকে // # অঞ্চলের কীওয়ার্ড আলা সি # এর পরে একটি বিবরণ রাখতে দেয় এবং প্রদর্শিত কোড অনুসারে কোডটিতে প্রদর্শন করে:
উদাহরণ কোড:
//#region InputHandler
var InputHandler = {
inputMode: 'simple', //simple or advanced
//#region filterKeys
filterKeys: function(e) {
var doSomething = true;
if (doSomething) {
alert('something');
}
},
//#endregion filterKeys
//#region handleInput
handleInput: function(input, specialKeys) {
//blah blah blah
}
//#endregion handleInput
};
//#endregion InputHandler
আপডেট ম্যাক্রো:
Option Explicit On
Option Strict On
Imports System
Imports EnvDTE
Imports EnvDTE80
Imports EnvDTE90
Imports System.Diagnostics
Imports System.Collections.Generic
Public Module JsMacros
Sub OutlineRegions()
Dim selection As EnvDTE.TextSelection = CType(DTE.ActiveDocument.Selection, EnvDTE.TextSelection)
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 New Stack(Of Integer)
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 ...
Dim tempStartIndex As Integer = CInt(startRegions.Pop())
selection.MoveToLineAndOffset(CalcLineNumber(text, tempStartIndex), CalcLineOffset(text, tempStartIndex))
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) As Integer
Dim lineNumber As Integer = 1
Dim i As Integer = 0
While i < index
If text.Chars(i) = vbLf Then
lineNumber += 1
i += 1
End If
If text.Chars(i) = vbCr Then
lineNumber += 1
i += 1
If text.Chars(i) = vbLf Then
i += 1 'Swallow the next vbLf
End If
End If
i += 1
End While
Return lineNumber
End Function
Private Function CalcLineOffset(ByVal text As String, ByVal index As Integer) As Integer
Dim offset As Integer = 1
Dim i As Integer = index - 1
'Count backwards from //#region to the previous line counting the white spaces
Dim whiteSpaces = 1
While i >= 0
Dim chr As Char = text.Chars(i)
If chr = vbCr Or chr = vbLf Then
whiteSpaces = offset
Exit While
End If
i -= 1
offset += 1
End While
'Count forwards from //#region to the end of the region line
i = index
offset = 0
Do
Dim chr As Char = text.Chars(i)
If chr = vbCr Or chr = vbLf Then
Return whiteSpaces + offset
End If
offset += 1
i += 1
Loop
Return whiteSpaces
End Function
End Module
ভিএস 2012 এবং ভিএস 2015 তে ওয়েব-এসেন্সিয়ালস প্লাগইন ইনস্টল করুন এবং আপনি এটি করতে সক্ষম হবেন।
ভিজ্যুয়াল স্টুডিও 2017 এর সাথে এই উত্তরগুলির কোনওটিই আমার পক্ষে কার্যকর হয়নি।
ভিএস 2017 এর জন্য সেরা প্লাগইন: জাভাস্ক্রিপ্ট অঞ্চলগুলি
উদাহরণ 1:
উদাহরণ 2:
পরীক্ষিত এবং অনুমোদিত:
//#region Get Deactivation JS
.
.
//#endregion Get Deactivation JS
এটি আগে কাজ করছে না তাই আমি এখান থেকে এক্সটেনশন ডাউনলোড করেছি ed
অঞ্চলটি সেটিংস পরিবর্তন না করেই কাজ করা উচিত
//#region Optional Naming
var x = 5 -0; // Code runs inside #REGION
/* Unnecessary code must be commented out */
//#endregion
ভাঙ্গা মন্তব্য অঞ্চল / ** / সক্ষম করতে
/* Collapse this
*/
সেটিংস -> অনুসন্ধান "ভাঁজ" -> সম্পাদক: ভাঁজ কৌশল -> "অটো" থেকে "ইন্ডেন্টেশন" পর্যন্ত।
TAGS: নোড.জেএস নোডেজ নোস জে জাভাস্ক্রিপ্ট ইএস 5 এসসিএমএস স্ক্রিপ্ট মন্তব্য ভাঁজ করে লুকিয়ে থাকা অঞ্চল ভিজ্যুয়াল স্টুডিও কোড vscode 2018 সংস্করণ 1.2+ https://code.visualstudio.com/updates/v1_17#_folding-regions
কেবল ভিএসের জন্য নয় প্রায় সকল সম্পাদকের জন্য।
(function /* RegionName */ () { ... })();
সতর্কতা: সুযোগের মতো অসুবিধাগুলি রয়েছে।