طراحی سایت و برنامه نویسی

آموزش طراحی سایت و برنامه نویسی

طراحی سایت و برنامه نویسی

آموزش طراحی سایت و برنامه نویسی

جستجوی الگو (Pattern Searching) — به زبان ساده

در این مطلب، جستجوی الگو (Pattern Searching) مورد بررسی قرار می‌گیرد و یک الگوریتم ساده برای این کار ارائه می‌شود. متن  [txt[0..n-1 و الگوی [pat[0..m-1 موجود است؛ هدف نوشتن تابع جستجویی ([]char pat[], char txt) است که همه وقوع‌های []pat در []txt را چاپ کند. می‌توان فرض کرد که n > m است. مثال‌های زیر در این راستا قابل توجه هستند.

Input:  txt[] = "THIS IS A TEST TEXT"
        pat[] = "TEST"
Output: Pattern found at index 10

Input:  txt[] =  "AABAACAADAABAABA"
        pat[] =  "AABA"
Output: Pattern found at index 0
        Pattern found at index 9
        Pattern found at index 12

جستجوی الگو (Pattern Searching)

جستجوی الگو، یک مسأله مهم در علوم کامپیوتر است. هنگامی که یک رشته در فایل «نوت‌پد» (Notepad)، «ورد» (Word)، مرورگر و یا «پایگاه‌داده» (Database) جستجو می‌شود از جستجوی الگو برای نمایش نتایج جستجو استفاده می‌شود.

الگوریتم ساده برای جستجوی الگو

الگو در متن به این صورت بررسی می‌شود که از آغاز متن به صورت اسلایدی (کشویی) با متن مطابقت داده می‌شود. اگر الگویی مطابق با الگوی جستجو شده در متن پیدا شد، فعالیت مجددا ادامه پیدا می‌کند تا سایر الگوها نیز یافت شوند.

الگوریتم ساده جستجوی الگو در ++C

الگوریتم ساده جستجوی الگو در C

الگوریتم ساده جستجوی الگو در جاوا

الگوریتم ساده جستجوی الگو در #C

الگوریتم ساده جستجوی الگو در PHP

الگوریتم ساده جستجوی الگو در پایتون ۳

خروجی و پیچیدگی زمانی

خروجی قطعه کدهای بالا، به صورت زیر است.

Pattern found at index 0 
Pattern found at index 9 
Pattern found at index 13

بهترین حالت

بهترین حالت هنگامی به وقوع می‌پیوندد که اولین کاراکتر از الگو هرگز در متن ظاهر نشود.

txt[] = “AABCCAADDEE”;
pat[] = “FAA”;

تعداد مقایسه ها در بهترین حالت (O(n است.

بدترین حالت

بدترین حالت الگوریتم جستجوی الگوی ساده در شرایط زیر به وقوع می‌پیوندد.

۱. هنگامی که همه کاراکترهای متن و الگو مشابه باشد:

txt[] = "AAAAAAAAAAAAAAAAAA"; 
pat[] = "AAAAA";

۲. همچنین، بدترین حالت هنگامی به وقوع می‌پیوندد که آخرین کاراکتر متفاوت باشد.

txt[] = "AAAAAAAAAAAAAAAAAB"; 
pat[] = "AAAAB";

تعداد مقایسه‌ها در بدترین حالت برابر با ((O(m*(n-m+1 است. با وجود اینکه برخی از رشته‌ها دارای کاراکترهایی هستند که در زبان انگلیسی ظاهر نمی‌شود، اما این رشته‌ها ممکن است در دیگر کاربردها به وقوع بپیوندند (برای مثال، در متن‌های دودویی). الگوریتم تطبیق KMP، بدترین حالت را به (O(n بهبود می‌بخشد.

منبع: فرادرس


گراف قویا همبند و برنامه تشخیص آن — راهنمای کاربردی

در این مطلب، روش نوشتن برنامه‌ای که تشخیص می‌دهد یک گراف قویا همبند است یا خیر، مورد بررسی قرار گرفته است. همچنین، پیاده‌سازی آن در زبان‌های برنامه‌نویسی گوناگون شامل ++C، «جاوا» (Java) و «پایتون» (Python) انجام شده است. فرض می‌شود یک گراف جهت‌دار به عنوان ورودی به برنامه داده شده است. هدف آن است که برنامه بررسی و مشخص کند که آیا گراف قویا هم‌بند است یا خیر. یک گراف جهت‌دار، قویا هم‌بند است اگر مسیری بین هر دو جفت از راس‌های آن وجود داشته باشد. برای مثال، گرافی که در تصویر زیر آمده، قویا هم‌بند محسوب می‌شود.

گراف قویا همبند و برنامه تشخیص آن -- به زبان ساده

انجام چنین کاری در گراف غیرجهت‌دار آسان است. در این راستا، کافی است که پیمایش «جستجوی اول سطح» (Breadth-First Search | BFS) و «جستجوی اول عمق» (Depth-First Search | DFS) با آغاز از هر راسی انجام شود. اگر در پیمایش BFS یا DFS، همه راس‌ها مشاهده شدند، گراف غیر جهت‌دار همبند است. این رویکرد برای گراف‌های جهت‌دار پاسخگو نیست. برای مثال، گراف زیر قویا همبند نیست. اگر پیمایش DFS یا BFS با شروع از راس صفر انجام شود، می‌توان به همه راس‌ها رسید، اما اگر از هر راس دیگری آغاز شود، نمی‌توان به همه راس‌ها رسید.

گراف قویا همبند و برنامه تشخیص آن -- به زبان ساده

یک ایده ساده آن است که از همه الگوریتم‌های کوتاه‌ترین مسیرها مانند پیدا کردن «بستار تعدی» (Transitive Closure) گراف یا «الگوریتم فلوید-وارشال» (Floyd Warshall) استفاده شود. پیچیدگی زمانی این روش، از درجه (O(v3 است. همچنین، می‌توان DFS را به تعداد V مرتبه با آغاز از هر راسی انجام داد. اگر DFS همه راس‌ها را ملاقات نکرد، گراف قویا همبند نیست. این الگوریتم، ((O(V*(V+E زمان می‌برد که مشابه با بستار تعدی برای گراف چگال است.

یک ایده بهتر، استفاده از الگوریتم «اجزای قویاً هم‌بند» (Strongly Connected Components | SCC) است. می‌توان همه SCC‌ها را در زمان (O(V+E پیدا کرد. اگر تعداد SCC‌ها برابر با یک باشد، گراف قویا هم‌بند است. الگوریتم SCC پس از پیدا کردن همه SCC‌ها، دیگر کاری انجام نمی‌دهد. در ادامه، الگوریتم ساده و مبتنی بر DFS «کساراجو» (Kosaraju) ارائه شده است که دو پیمایش در گراف انجام و تشخیص می‌دهد که گراف قویا همبند است یا خیر. روش کار این الگوریتم، در ادامه بیان شده است.

  1. همه راس‌ها را با «ملاقات نشده» مقداردهی اولیه کن.
  2. پیمایش DFS گراف را با شروع از هر راس دلخواه v آغاز کن. اگر در پیمایش DFS همه راس‌ها ملاقات نشدند، false را بازگردان.
  3. همه یال‌ها را معکوس کن (یا ترانهاده یا معکوس گراف را پیدا کن)
  4. همه راس‌ها را در گراف معکوس شده با عنوان «ملاقات نشده» علامت‌گذاری کن.
  5. پیمایش DFS گراف معکوس را از همان راس v (که در گام ۲ از آن استفاده شد) آغاز کن. اگر پیمایش DFS همه راس‌ها را ملاقات نکرد، مقدار false را بازگردان. در غیر این صورت، مقدار true را بازگردان.

ایده آن است که اگر همه گره‌ها از راس v دسترسی‌پذیر باشند، و هر گره‌ای بتواند به v برسد، گراف قویا هم‌بند است. در گام ۲، بررسی می‌شود که همه راس‌ها از راس v دسترسی‌پذیر هستند. در گام ۴، بررسی می‌شود که آیا می‌توان از همه راس‌ها به راس v رسید (در گراف معکوس، اگر همه راس‌ها از راس v دسترسی‌پذیر باشند، همه راس‌ها می‌توانند در گراف اصلی به راس v برسند). پیاده‌سازی الگوریتم بالا، در ادامه در زبان‌های برنامه‌نویسی گوناگون ارائه شده است.

برنامه تشخیص گراف قویا همبند در ++C

برنامه تشخیص گراف قویا همبند در جاوا

برنامه تشخیص گراف قویا همبند در پایتون

خروجی قطعه کد بالا، به صورت زیر است.

Yes
No

پیچیدگی زمانی روش ارائه شده در بالا، برابر با «جستجوی اول عمق» است و اگر گراف با استفاده از ماتریس مجاورت ارائه شده باشد، از درجه (O(V+E خواهد بود. این رویکرد نیازمند دو بار پیمایش گراف است. می‌توان با استفاده از «الگوریتم تارژان مؤلفه‌های قویا هم‌بند» (Tarjan’s Strongly Connected Components Algorithm)، با یک بار پیمایش گراف این کار را انجام داد.

اگر نوشته بالا برای شما مفید بوده است، آموزش‌های زیر نیز به شما پیشنهاد می‌شوند:

منبع: فرادرس


تابع بازگشتی در ++C — راهنمای جامع

در این نوشته با روش ایجاد یک تابع بازگشتی در ++C آشنا می‌شویم. تابع بازگشتی تابعی است که خودش را فرامی‌خواند. چنین فرایندی به طور کلی «بازگشت» (recursion) نامیده می‌شود. برای مطالعه بخش قبلی این سری مقالات به لینک زیر رجوع کنید:

طرز کار بازگشت در ++C چگونه است؟

شکل زیر طرز کار بازگشت را از طریق فراخوانی خودش به صورت مکرر نمایش می‌دهد.

تابع بازگشتی در ++C

فرایند بازگشت تا زمانی که نوعی شرط برقرار شود تداوم می‌یابد.

برای جلوگیری از بازگشت نامتناهی از گزاره‌های if…else یا رویکردی مشابه استفاده می‌شود که در آن یک شاخه از گزاره مربوطه موجب بازگشت و شاخه دیگر باعث توقف فرایند بازگشتی می‌شود.

مثال 1

محاسبه فاکتوریل عدد با استفاده از بازگشت

خروجی

Enter a number to find factorial: 4
Factorial of 4 = 24

در شکل زیر طرز کار مثال فوق را توضیح داده‌ایم:

تابع بازگشتی در ++C

فرض کنید که عدد 4 از سوی کاربر برنامه وارد شده است. این مقدار به تابع ()factorial ارسال می‌شود.

  • در نخستین تابع ()factorial، عبارت تست درون گزاره if صحیح است. گزاره ;(return num*factorial(num-1 اجرا می‌شود که تابع ()factorial دوم را فرامی‌خواند و آرگومان ارسالی num-1 است که مقدار 3 را دارد.
  • در تابع ()factorial دوم، عبارت تست درون گزاره if صحیح است. گزاره ;(return num*factorial(num-1 اجرا می‌شود که تابع ()factorial سوم را فرامی‌خواند و آرگومان ارسالی num-1 است که مقدار 2 دارد.
  • در تابع ()factorial سوم، عبارت تست درون گزاره if همچنان صحیح است. بنابراین گزاره ;(return num*factorial(num-1 اجرا می‌شود که تابع ()factorial چهارم را فرا می‌خواند و آرگومان ارسالی num-1 و مقدار آن 1 است.
  • در تابع ()factorial چهارم، عبارت تست درون گزاره if ناصحیح است. از این رو گزاره ;return 1 اجرا می‌شود که مقدار 1 را به تابع ()factorial سوم بازمی‌گرداند.
  • تابع ()factorial سوم مقدار 2 را به تابع ()factorial دوم بازگشت می‌دهد.
  • تابع ()factorial دوم مقدار 6 را به تابع ()factorial اول بازگشت می‌دهد.
  • منبع: فرادرس

جستجوی الگو (Pattern Searching) — به زبان ساده

در این مطلب، جستجوی الگو (Pattern Searching) مورد بررسی قرار می‌گیرد و یک الگوریتم ساده برای این کار ارائه می‌شود. متن  [txt[0..n-1 و الگوی [pat[0..m-1 موجود است؛ هدف نوشتن تابع جستجویی ([]char pat[], char txt) است که همه وقوع‌های []pat در []txt را چاپ کند. می‌توان فرض کرد که n > m است. مثال‌های زیر در این راستا قابل توجه هستند.

Input:  txt[] = "THIS IS A TEST TEXT"
        pat[] = "TEST"
Output: Pattern found at index 10

Input:  txt[] =  "AABAACAADAABAABA"
        pat[] =  "AABA"
Output: Pattern found at index 0
        Pattern found at index 9
        Pattern found at index 12

جستجوی الگو (Pattern Searching)

جستجوی الگو، یک مسأله مهم در علوم کامپیوتر است. هنگامی که یک رشته در فایل «نوت‌پد» (Notepad)، «ورد» (Word)، مرورگر و یا «پایگاه‌داده» (Database) جستجو می‌شود از جستجوی الگو برای نمایش نتایج جستجو استفاده می‌شود.

الگوریتم ساده برای جستجوی الگو

الگو در متن به این صورت بررسی می‌شود که از آغاز متن به صورت اسلایدی (کشویی) با متن مطابقت داده می‌شود. اگر الگویی مطابق با الگوی جستجو شده در متن پیدا شد، فعالیت مجددا ادامه پیدا می‌کند تا سایر الگوها نیز یافت شوند.

الگوریتم ساده جستجوی الگو در ++C

الگوریتم ساده جستجوی الگو در C

الگوریتم ساده جستجوی الگو در جاوا

الگوریتم ساده جستجوی الگو در #C

الگوریتم ساده جستجوی الگو در PHP

الگوریتم ساده جستجوی الگو در پایتون ۳

خروجی و پیچیدگی زمانی

خروجی قطعه کدهای بالا، به صورت زیر است.

Pattern found at index 0 
Pattern found at index 9 
Pattern found at index 13

بهترین حالت

بهترین حالت هنگامی به وقوع می‌پیوندد که اولین کاراکتر از الگو هرگز در متن ظاهر نشود.

txt[] = “AABCCAADDEE”;
pat[] = “FAA”;

تعداد مقایسه ها در بهترین حالت (O(n است.

بدترین حالت

بدترین حالت الگوریتم جستجوی الگوی ساده در شرایط زیر به وقوع می‌پیوندد.

۱. هنگامی که همه کاراکترهای متن و الگو مشابه باشد:

txt[] = "AAAAAAAAAAAAAAAAAA"; 
pat[] = "AAAAA";

۲. همچنین، بدترین حالت هنگامی به وقوع می‌پیوندد که آخرین کاراکتر متفاوت باشد.

txt[] = "AAAAAAAAAAAAAAAAAB"; 
pat[] = "AAAAB";

تعداد مقایسه‌ها در بدترین حالت برابر با ((O(m*(n-m+1 است. با وجود اینکه برخی از رشته‌ها دارای کاراکترهایی هستند که در زبان انگلیسی ظاهر نمی‌شود، اما این رشته‌ها ممکن است در دیگر کاربردها به وقوع بپیوندند (برای مثال، در متن‌های دودویی). الگوریتم تطبیق KMP، بدترین حالت را به (O(n بهبود می‌بخشد.

منبع: فرادرس


همگام سازی تنظیمات بین نسخه های مختلف ویژوال استودیو کد — به زبان ساده

اگر یک توسعه‌دهنده غیر مبتدی هستید و سیستم یا لپ‌تاپی را که استفاده می‌کنید، چند سال قبل خریداری کرده‌اید، مسلماً تاکنون ابزارها و نرم‌افزارهای زیادی را روی آن نصب کرده‌اید. احتمال دارد از نر‌م‌افزار VS Code به عنوان ادیتور کد خود استفاده می کنید و برخی افزونه‌ها را روی آن نصب دارید. ممکن است بتوانید برخی از مواردی که روی آن نصب کرده‌اید را به خاطر آورید؛ اما بدیهی است که یادآوری بسیاری از آن‌ها ناممکن است. ما این ابزارها را یک بار نصب می‌کنیم و دیگر کلاً فراموششان می‌کنیم.

اما این وضعیت خطرناکی است، چون هر چه قدر هم که مراقب باشید، ممکن است اتفاقی برای لپ‌تاپ شما بیافتد، مثلاً فنجان قهوه روی آن بریزد، روی زمین سقوط کند و یا سیستم عامل آن از کار بیفتد.

در چنین حالتی، پس از این که مشکل را رفع کردید یا مجبور شدید یک سیستم جدید بخرید، با یک لپ‌تاپ جدید مواجه خواهید بود که همه تنظیمات شخصی، افزونه‌ها، برنامه‌های نصب‌شده مختلف و ابزارهای پیکربندی‌شده که موجب سهولت کار توسعه می‌شدند، از دست رفته‌اند. این وضعیت به طور خاص در مورد IDE صدق می‌کند، چون همه تنظیمات و پیکربندی‌ها به یک چشم بر هم زدن از دست می‌روند.

دقیقاً در این لحظه است که متوجه می‌شوید برای همه این تنظیمات و پیکربندی‌ها چه مقدار زمان و زحمت صرف شده است. حتی تصور چنین وضعیتی نیز دردناک است. ما در این مقاله قصد نداریم در مورد روش‌های بازیابی وضعیت سیستم به حالت اولیه صحبت بکنیم، بلکه می‌خواهیم نشان دهیم که چگونه می‌توانید تنظیمات IDE ویژوال استودیو کد را بدون شروع همه چیز از صفر و صرف ساعت‌ها از وقت خود مجدداً بسازید.

همگام‌سازی تنظیمات برای مواقع ضروری

اگر تاکنون با VS Code کار نکرده‌اید و یا کلاً نام آن را نشنیده‌اید، پیشنهاد می‌کنیم ابتدا مطلب معرفی جامع ویژوال استودیو کد را مطالعه کنید. ویژوال استودیو کد، یک IDE جالب و رایگان است و تقریباً از هر لحاظ WebStorm را که رایگان نیست مغلوب می‌کند.

یکی از جالب‌ترین نکته‌ها در مورد VS Code بازار اکستنشن (+) آن است که پر از افزونه‌های مفید است که افراد مختلف برای خودشان نوشته‌اند و حس کرده‌اند که ممکن است برای توسعه‌دهندگان دیگر نیز مفید باشند و بیشتر آن‌ها نیز رایگان هستند.

این اکستنشن‌ها برخی از ویژگی‌هایی هستند که موجب می‌شوند کار توسعه در VS Code چنین دلپذیر باشد و همچنین موجب می‌شوند که توسعه‌دهندگان هر کدام نسخه خاصی از این ویرایشگر را داشته باشند. هرکس می‌تواند theme خاص خود، فهرست افزونه‌های ضروری و نوار کناری با ابزارهای مفید را در اختیار داشته باشد. همچنین قابلیت مهم LiveShare و فهرست فراینده‌ای از امکاناتی که تیم توسعه VS Code هر ماه اضافه می‌کند در این IDE قابل حصول هستند.

زمانی که با احتمال از دست دادن تنظیمات VS Code مواجه می‌شوید، احتمالاً به دنبال روشی برای انتقال این تنظیمات به سیستم دیگر می‌گردید. پیش از ما نیز توسعه‌دهندگان دیگری در نقاط مختلف دنیا با چنین موقعیت‌هایی مواجه شده‌اند و راهی برای همگام‌سازی تنظیمات VS Code روی سیستم‌های مختلف ابداع کرده‌اند. این کار از طریق اکستنشن Settings Sync (+) میسر است.

Settings Sync

با استفاده از این اکستنشن می‌توانید تنظیمات ویژوال استودیو کد را با استفاده از GIST گیت‌هاب روی چند سیستم همگام‌سازی کنید.

این افزونه به صورت رایگان در بازار VS CODE ارائه شده است و دقیقاً همان کاری را که در تعریف فوق دیدید، ارائه می‌کند. با استفاده از این ابزار می‌توانید تنظیمات VS Code را روی هر تعداد سیستم مختلف که دوست دارید همگام‌سازی کنید. همه این‌ها به لطف بخش GIST در گیت‌هاب میسر شده است.

این افزونه موارد زیر را همگام‌سازی می‌کند:

  • فایل Settings
  • فایل Keybinding
  • فایل Launch
  • پوشه Snippets
  • افزونه‌های VS Code و پیکربندی افزونه‌ها
  • پوشه Workspaces

همه چیز از نظر تئوری خوب به نظر می‌رسد، اما آیا در عمل نیز واقعاً به همین سادگی است؟ واقعیت این است که کار به همین سادگی است، چون مستندات بسیار خوبی برای افزونه همگام‌سازی تنظیمات وجود دارد.

شما می‌توانید در طی مدت کوتاهی و با کمی سعی و خطا این افزونه را فعال کنید و در ادامه این موارد و همچنین مشکلاتی که ممکن است با آن‌ها مواجه شوید را توضیح خواهیم داد.

افزونه Settings Sync در عمل

همان طور که قبلاً گفتیم، راهنمایی‌های ارائه شده از سوی خالق افزونه Settings Sync کاملاً مناسب است؛ اما در این نوشته قصد داریم در طی یک راهنمای گام به گام چند نکته را نیز روشن سازیم که دانستن آن‌ها باعث سهولت هر چه بیشتر کار برای شما خواهد شد.

گام 1: نصب افزونه Settings Sync در VS Code

VS Code
جهت بزرگنمایی روی تصویر کلیک کنید.

بدیهی است که گام نخست، نصب افزونه Settings Sync در ترمینال VS Code و از مارکت اکستنشن‌ها است. آیکون این افزونه به صورتی که در تصویر فوق می‌بینید، در نتایج جستجو ظاهر می‌شود.

گام 2: ایجاد توکن دسترسی شخصی از گیت‌هاب

روش کار Settings Sync از طریق گیت‌هاب است و یک gist شخصی می‌سازد که اطلاعات VS Code را روی آن ذخیره می‌کند و سپس این تنظیمات در دسترس هر کسی که کلیدهای دسترسی به gist را داشته باشد، خواهد بود.

بدین ترتیب در گیت‌هاب به مسیر زیر مراجعه کنید:

Settings / Developer settings / Personal access tokens / Generate New Token**
VS Code
جهت بزرگنمایی روی تصویر کلیک کنید.

همان طور که ملاحظه می‌کنید، ما قبلاً یک توکن vscode-settings-sync به دست آورده‌ایم؛ اما با توجه به مقاصد این مقاله روی دکمه Generate new token کلیک می‌کنیم تا گام‌های مختلف را همراه با شما بپیماییم.

زمانی که به صفحه تولید توکن رسیدید، نام توکن را چیزی انتخاب کنید که به راحتی در یاد بماند و سپس روی کادر کنار Create gists کلیک کنید. این تنها کاری است که برای تولید توکن لازم است.

VS Code
جهت بزرگنمایی روی تصویر کلیک کنید.

پس از این که توکن جدید ایجاد شد، هش توکن را روی کلیپ بورد کپی کنید (می‌توانید آن را در جایی ذخیره کنید)، چون در ادامه هرگز امکان دسترسی به آن نخواهید داشت.

VS Code

زمانی که این کار را انجام دادید، آماده بازگشتن به VS Code هستید.

گام 3: آپلود تنظیمات VS Code

VS Code

هنگامی که به VS Code بازگشتید، پالت فرمان را با دستور Ctrl + Shift+ P (ویندوز) یا command + shift + p (مک) باز کنید و عبارت :sync را وارد کنید تا فهرستی از گزینه‌ها را مشاهده کنید. روی گزینه اول یعنی Sync: Update/Upload Settings کلیک کنید تا درخواست افزودن توکن گیت‌هاب را مشاهده کنید. در این مرحله می‌توانید توکنی را که اخیراً ایجاد و کپی کردید وارد نمایید.

VS Code
جهت بزرگنمایی روی تصویر کلیک کنید.

اکنون که توکن خود را وارد کرده‌اید، همه تنظیمات جاری شما روی gist آپلود می‌شود و ترمینال OUTPUT در VS Code پیامی مانند تصویر زیر نشان می‌دهد:

VS Code
جهت بزرگنمایی روی تصویر کلیک کنید.

می‌توانید ببیند که فایل‌های settings و extensions همراه با اکستنشن‌هایی که هم اینک در تنظیمات VS Code ما استفاده می‌شوند، آپلود شده‌اند. همچنین می‌توانید به gist خود در گیت‌هاب بروید و وجود تنظیمات را در آنجا تأیید کنید. این تنظیمات در gist در فایلی با نام cloudSettings ذخیره شده‌اند.

پیش از آن که ترمینال output را ببندید، توکن گیت‌هاب و ID مربوط به gist تولید شده در این آپلود را کپی کنید. شما در ادامه برای دانلود کردن تنظیمات روی سیستم‌های دیگر به این موارد نیاز خواهید داشت. این موارد را جایی قرار دهید که بتوانید از روی سیستم جدید به آن‌ها دسترسی داشته باشید و آن‌ها را دانلود کنید. مثلاً می‌توانید آن‌ها را روی ‌اسلک، Google Docs و یا موارد مشابه قرار دهید.

VS Code

اینک آماده رفتن به IDE جدید VS Code خود هستیم و می‌توانیم این تنظیمات را با کمترین زحمت آنجا اعمال کنیم.

گام 4: دانلود تنظیمات روی یک سیستم جدید

برای دانلود تنظیمات VS Code روی سیستم خود، نخستین گام شبیه به بخش قبلی و آپلود تنظیمات است. پالت دستورها را با کلیدهای میانبر Ctrl+Shift+P باز کنید و عبارت :sync را وارد کنید. اما این بار باید گزینه Sync: Download Settings را انتخاب کنید.

VS Code

پس از این که این گزینه را انتخاب کردید، افزونه Sync Settings از شما می‌خواهد که توکن دسترسی شخصی گیت‌هاب خود را وارد کنید. این همان توکن است که از خروجی ترمینال در زمان آپلود تنظیمات VS Code کپی کرده‌اید.

VS Code
جهت بزرگنمایی روی تصویر کلیک کنید.

سپس از شما خواسته می‌شود که Gist ID را وارد کنید. این مورد را نیز از خروجی ترمینال کپی کرده‌ایم. دقت کنید که اگر در گام نخست این مقدار را کپی نکرده باشید، هیچ کار دیگری میسر نیست و باید کل فرایند را ریست کرده و از نو آغاز کنید که گرچه چندان دشوار نیست، ولی به هر حال دوباره‌کاری محسوب می‌شود

 VS Code
جهت بزرگنمایی روی تصویر کلیک کنید.

پس از آن تنظیمات اصلی شما روی VS Code جدید بدون هیچ مشکلی دانلود می‌شود.

گام 5: ری‌استارت کردن ادیتور

بدین ترتیب ما به پایان کار رسیده‌ایم. ممکن است لازم باشد که ادیتور VS Code را کاملاً ببندید و آن را دوباره باز کنید تا همه تغییرات اعمال شوند و این تنها کار موردنیاز است. بدین ترتیب می‌توانید به سادگی IDE جدیداً نصب شده خود را به شکلی که دوست دارید دربیاورید.

توجه کنید که اگر می‌خواهید این تنظیمات و پیکربندی‌ها را میان اعضای مختلف یک تیم و سیستم‌های مختلف توزیع کنید، می‌توانید یک Gist عمومی ایجاد کنید که همه افراد به آن دسترسی داشته باشند. به این منظور می‌توانید از بخش Create Public Gist to Share Settings این راهنما (+) استفاده کنید.

سخن پایانی

هیچ چیزی برای یک توسعه‌دهنده لذت‌بخش‌تر از دیدن یک IDE کاملاً پیکربندی‌شده مانند VS Code نیست. هیچ چیزی هم به اندازه تلاش برای به خاطر آوردن همه تنظیمات، افزونه‌ها، پیکربندی‌ها و موارد دیگر که روی یک IDE اعمال کرده‌اید، دردآور نیست.

اینک به کمک افزونه Settings Sync لازم نیست که همه این چیزها را به خاطر بیاورید و یا ساعت‌ها از وقت خود را صرف ایجاد مجدد آن‌ها را یک سیستم جدید بکنید. می‌توانید به سادگی آن‌ها را روی کلود گیت‌هاب آپلود کرده و از روی هر سیستم جدید و از طریق توکن دسترسی شخصی و Gist ID به آن‌ها دسترسی داشته باشید.

منبع: فرادرس