<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: AKclown</title>
    <description>The latest articles on DEV Community by AKclown (@akclown).</description>
    <link>https://dev.to/akclown</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F632092%2F50d004ef-092c-4013-9bb8-06cd18ecc139.jpeg</url>
      <title>DEV Community: AKclown</title>
      <link>https://dev.to/akclown</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/akclown"/>
    <language>en</language>
    <item>
      <title>Delete git branches in batches</title>
      <dc:creator>AKclown</dc:creator>
      <pubDate>Tue, 06 Feb 2024 07:34:11 +0000</pubDate>
      <link>https://dev.to/akclown/delete-git-branches-in-batches-1h3m</link>
      <guid>https://dev.to/akclown/delete-git-branches-in-batches-1h3m</guid>
      <description>&lt;h2&gt;
  
  
  🤡 Delete git branches in batches
&lt;/h2&gt;

&lt;p&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--UTgeJXvG--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://img.shields.io/npm/dy/gbkill.svg" class="article-body-image-wrapper"&gt;&lt;img alt="npm" src="https://res.cloudinary.com/practicaldev/image/fetch/s--UTgeJXvG--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://img.shields.io/npm/dy/gbkill.svg" width="130" height="20"&gt;&lt;/a&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Hr92qjEM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://img.shields.io/npm/v/gbkill.svg" class="article-body-image-wrapper"&gt;&lt;img alt="npm version" src="https://res.cloudinary.com/practicaldev/image/fetch/s--Hr92qjEM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://img.shields.io/npm/v/gbkill.svg" width="120" height="20"&gt;&lt;/a&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--5M2rZtHz--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://img.shields.io/npm/l/gbkill.svg" class="article-body-image-wrapper"&gt;&lt;img alt="NPM" src="https://res.cloudinary.com/practicaldev/image/fetch/s--5M2rZtHz--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://img.shields.io/npm/l/gbkill.svg" width="78" height="20"&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;In daily development, we create a git branch function every time we make a requirement. Over time, many local and online branches will be accumulated. Then it is particularly important to have a tool to delete git branches in batches at this time. &lt;strong&gt;&lt;code&gt;GBKILL&lt;/code&gt; is a tool created to solve this need, allowing you to delete git branches more efficiently&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcyu8b98wus60sp0yr29k.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcyu8b98wus60sp0yr29k.png" alt="Image description" width="800" height="298"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;This tool will list the &lt;code&gt;git branches&lt;/code&gt; in the projects, and then you can &lt;code&gt;select in batches&lt;/code&gt; the &lt;code&gt;git branches&lt;/code&gt; that need to be deleted.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  🤡 Install
&lt;/h2&gt;

&lt;p&gt;Actually you don't need to install it to use it! Just use the following command:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight typescript"&gt;&lt;code&gt;&lt;span class="nx"&gt;$&lt;/span&gt; &lt;span class="nx"&gt;npx&lt;/span&gt; &lt;span class="nx"&gt;gbkill&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Or you can install it:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight typescript"&gt;&lt;code&gt;&lt;span class="nx"&gt;$&lt;/span&gt; &lt;span class="nx"&gt;npm&lt;/span&gt; &lt;span class="nx"&gt;i&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="nx"&gt;g&lt;/span&gt; &lt;span class="nx"&gt;gbkill&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  🏕️ Usage
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;Enter &lt;code&gt;gbkill&lt;/code&gt; in your &lt;code&gt;terminal&lt;/code&gt;** (currently not compatible with Git in Windows terminal)**. &lt;code&gt;gbkill&lt;/code&gt; will execute the &lt;code&gt;git command&lt;/code&gt; to scan the &lt;code&gt;git branches&lt;/code&gt; under your current project s and display them in the lists&lt;/p&gt;
&lt;/blockquote&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Key&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Space&lt;/td&gt;
&lt;td&gt;Press the &lt;code&gt;spacebar&lt;/code&gt; to execute the &lt;code&gt;merged&lt;/code&gt; branch deletion (&lt;strong&gt;&lt;code&gt;recommendation: to prevent accidental deletion&lt;/code&gt;&lt;/strong&gt;)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Tab&lt;/td&gt;
&lt;td&gt;Press the &lt;code&gt;Tab&lt;/code&gt; to execute `merged \&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;RightArrow&lt;/td&gt;
&lt;td&gt;Press {% raw %}&lt;code&gt;-&amp;gt;&lt;/code&gt; to execute `Open \&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;↓&lt;/td&gt;
&lt;td&gt;Press {% raw %}&lt;code&gt;↓&lt;/code&gt; to select branch&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;↑&lt;/td&gt;
&lt;td&gt;Press &lt;code&gt;↑&lt;/code&gt; to select branch&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Hint&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;ol&gt;
&lt;li&gt;&lt;p&gt;The &lt;code&gt;merge&lt;/code&gt; listed on the gbkill interface displays &lt;code&gt;yes&lt;/code&gt; or &lt;code&gt;No&lt;/code&gt; which is judged by &lt;code&gt;git branch --merged &amp;lt;name&amp;gt;&lt;/code&gt;. You can specify the merged branch name by executing &lt;code&gt;gbkill --merged &amp;lt;name&amp;gt;&lt;/code&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;When the &lt;code&gt;merge&lt;/code&gt; status in &lt;code&gt;gbkill&lt;/code&gt; is &lt;code&gt;yes&lt;/code&gt;, but &lt;code&gt;NO_FORCE...fully merged&lt;/code&gt; appears when you delete the branch. Reason: &lt;code&gt;The code of this branch&lt;/code&gt; is not merged into the &lt;code&gt;currently focused branch&lt;/code&gt;. Requires &lt;code&gt;forced deletion&lt;/code&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;When executing &lt;code&gt;gbkill --sync&lt;/code&gt;, the &lt;code&gt;remote branch&lt;/code&gt; of the target branch will be deleted first and then the &lt;code&gt;local branch&lt;/code&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  🏖️ Parameter
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;Configurable parameters of &lt;code&gt;gbkill&lt;/code&gt;. Some configuration parameters will be cached and shared globally in the &lt;code&gt;/user home directory/.gbkill&lt;/code&gt; file.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Argument&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;th&gt;Cache&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;--force&lt;/td&gt;
&lt;td&gt;Forcibly delete a branch, equivalent to &lt;code&gt;git branch -D \&amp;lt;name\&amp;gt;&lt;/code&gt; (&lt;strong&gt;Caution: local &lt;code&gt;commit&lt;/code&gt; changes will be deleted&lt;/strong&gt;)&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;--sync&lt;/td&gt;
&lt;td&gt;Whether to delete remote branches synchronously&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;--merged &amp;lt;name&amp;gt;&lt;/td&gt;
&lt;td&gt;Specify the branch name used to determine whether a branch has been merged (&lt;strong&gt;git branch --merged &amp;lt;name&amp;gt;&lt;/strong&gt;)&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;--lock &amp;lt;names..&amp;gt;&lt;/td&gt;
&lt;td&gt;
&lt;code&gt;Locked&lt;/code&gt; some branches will be &lt;code&gt;hidden in the list&lt;/code&gt;, and the data will be accumulated instead of replaced (&lt;strong&gt;Prevent accidental deletion, protect some branches&lt;/strong&gt;)&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;--unlock &amp;lt;names..&amp;gt;&lt;/td&gt;
&lt;td&gt;
&lt;code&gt;Unlock&lt;/code&gt; a branch locked by &lt;code&gt;--lock&lt;/code&gt;
&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  🏝️ State of Git branch
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;Description corresponds to branch status.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Status&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;th&gt;Color&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;NONE&lt;/td&gt;
&lt;td&gt;The branch is in a normal state&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;DELETING&lt;/td&gt;
&lt;td&gt;Branch is being deleted&lt;/td&gt;
&lt;td&gt;🌍&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;DELETED&lt;/td&gt;
&lt;td&gt;Branch deleted&lt;/td&gt;
&lt;td&gt;🟢&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;FAILED&lt;/td&gt;
&lt;td&gt;Fail to delete branch&lt;/td&gt;
&lt;td&gt;🔴&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;NO_MERGED&lt;/td&gt;
&lt;td&gt;The branch was not merged into &lt;code&gt;name branch&lt;/code&gt; (&lt;code&gt;--merged &amp;lt;name&amp;gt;&lt;/code&gt;)&lt;/td&gt;
&lt;td&gt;🟣&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;NO_FORCE&lt;/td&gt;
&lt;td&gt;This branch needs to be forcibly deleted &lt;code&gt;git branch -D name&lt;/code&gt;(&lt;code&gt;--force&lt;/code&gt;)&lt;/td&gt;
&lt;td&gt;🟡&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;NO_SYNC&lt;/td&gt;
&lt;td&gt;Fail to delete remote branches synchronously&lt;/td&gt;
&lt;td&gt;🟠&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  🏞️ Known issues
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;⚠️ &lt;code&gt;Git for Windows Terminal&lt;/code&gt; is currently not supported, and the tool is limited to &lt;a href="https://github.com/vadimdemedes/ink/issues/378"&gt;ink&lt;/a&gt;. We will look for alternatives later. Please use &lt;code&gt;CMD&lt;/code&gt;, &lt;code&gt;Vscode terminal's Git...&lt;/code&gt; terminal&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  ⛺ Other
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;This tool will be continuously optimized. If you have better ‘interactive behavior’ or ‘feature requests’, you can submit a ‘pr’ or ‘issue’ to me&lt;/li&gt;
&lt;li&gt;Thank you for using this tool and looking forward to your &lt;code&gt;[issue](https://github.com/AKclown/gbkill/issues)&lt;/code&gt; or &lt;code&gt;[PR](https://github.com/AKclown/gbkill/pulls)&lt;/code&gt;
&lt;/li&gt;
&lt;/ol&gt;

</description>
      <category>node</category>
      <category>typescript</category>
      <category>webdev</category>
      <category>cli</category>
    </item>
    <item>
      <title>JS To TS（vscode plugin）</title>
      <dc:creator>AKclown</dc:creator>
      <pubDate>Fri, 26 May 2023 08:40:21 +0000</pubDate>
      <link>https://dev.to/akclown/js-to-ts-42ki</link>
      <guid>https://dev.to/akclown/js-to-ts-42ki</guid>
      <description>&lt;p&gt;**Function 1: **Convert API return data to typescript type declaration.PS: Automatically assign the type content to the clipboard&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--vb4-bo8O--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ge56ybn6hsbm8c95qaqq.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--vb4-bo8O--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ge56ybn6hsbm8c95qaqq.jpg" alt="Image description" width="800" height="494"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Function 2: &amp;amp;nbsp；convert objects of JavaScript to typescript type declaration.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--b6YTrxxT--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/qr0hbxulyq05ec3bxcdk.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--b6YTrxxT--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/qr0hbxulyq05ec3bxcdk.jpg" alt="Image description" width="800" height="480"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Function 3:  a plug-in that converts the type provided by the Swagger document to the typescript type automatically.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--hAVhA-Ir--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9acz3t6ngrcsbr9qumhg.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--hAVhA-Ir--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9acz3t6ngrcsbr9qumhg.jpg" alt="Image description" width="800" height="422"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Settings plane&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--y2ksYmlI--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/qns4g3xqesffy6vpvkp8.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--y2ksYmlI--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/qns4g3xqesffy6vpvkp8.jpg" alt="Image description" width="800" height="384"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Keyboard shortcuts configuration.
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Default button configuration (window &amp;amp; mac)&lt;/li&gt;
&lt;li&gt;Object conversion operation &lt;code&gt;ctrl+shift+j&lt;/code&gt; (Function 1)&lt;/li&gt;
&lt;li&gt;Swagger conversion operation &lt;code&gt;ctrl+shift+k&lt;/code&gt; (Function 2)&lt;/li&gt;
&lt;li&gt;You can also make customize settings in the shortcut key setting interface.&lt;/li&gt;
&lt;li&gt;-
PS: [js to ts]&lt;a href="https://github.com/AKclown/js-to-ts"&gt;https://github.com/AKclown/js-to-ts&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>vscode</category>
      <category>javascript</category>
      <category>typescript</category>
      <category>json</category>
    </item>
    <item>
      <title>Swagger To Typescript</title>
      <dc:creator>AKclown</dc:creator>
      <pubDate>Thu, 23 Dec 2021 09:03:19 +0000</pubDate>
      <link>https://dev.to/akclown/swagger-to-typescript-3c2h</link>
      <guid>https://dev.to/akclown/swagger-to-typescript-3c2h</guid>
      <description>&lt;p&gt;Swagger To Typescript is a plug-in used to convert the types provided by Swagger documents to typescript types automatically.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--dZD5Y7UB--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/wu9s7aftxd0idxe1dkby.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--dZD5Y7UB--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/wu9s7aftxd0idxe1dkby.png" alt="Image description" width="800" height="422"&gt;&lt;/a&gt;&lt;br&gt;
usage&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--84Q-SJXw--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8pil1q1u3xp9avav3tbr.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--84Q-SJXw--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8pil1q1u3xp9avav3tbr.gif" alt="Image description" width="800" height="788"&gt;&lt;/a&gt;&lt;br&gt;
Keyboard shortcuts configuration.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Default button configuration (window &amp;amp; mac)&lt;/li&gt;
&lt;li&gt;Conversion operation &lt;code&gt;ctrl+shift+k&lt;/code&gt; (Right-click panel also has options)&lt;/li&gt;
&lt;li&gt;You can also make customize settings in the shortcut key setting interface.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;PS: &lt;a href="https://github.com/AKclown/file-teleport"&gt;File Teleport&lt;/a&gt;File will be updated synchronously together with plug-in.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Vscode file multi-file content synchronization plugin</title>
      <dc:creator>AKclown</dc:creator>
      <pubDate>Sun, 16 May 2021 07:25:10 +0000</pubDate>
      <link>https://dev.to/akclown/vscode-file-multi-file-content-synchronization-plugin-3ji</link>
      <guid>https://dev.to/akclown/vscode-file-multi-file-content-synchronization-plugin-3ji</guid>
      <description>&lt;p&gt;What is File Teleport using for?&lt;/p&gt;

&lt;p&gt;File Teleport is a vscode plug-in that improves work efficiency, dedicates to the synchronization of multiple file information, and solves tedious operations. The original intention of the design is to solve the problem of synchronization of international file, and it is also suitable for other scenarios that require file contents transfer. At the moment, vscode plug-in provides functions like insert, replace and update, the function update will perform file diff matching. Let's explain its usage in combination with the international demo.&lt;/p&gt;

&lt;p&gt;How to use the three functions (the leftmost is the source file, the rest are the target files)&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Update operation: No need to know the changes made in the selected area, such as add, delete, remain unchanged, and modify. The plug-in will perform diff comparison, find out the difference between the target file and the source file, and update it.&lt;br&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Z4slF9p3--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/dzkegam764pv4t7qf55y.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Z4slF9p3--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/dzkegam764pv4t7qf55y.gif" alt="update-demo"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Insert operation: Insert the text in the selected area into any line of the target file.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Gtngl0mA--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/fja259q4z6abet416i1m.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Gtngl0mA--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/fja259q4z6abet416i1m.gif" alt="insert-demo"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;3.Replace operation: Replace the text in the target area with the text in the selected area of the source file.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--KieyAhLV--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/y74y2tunmst98bfik04e.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--KieyAhLV--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/y74y2tunmst98bfik04e.gif" alt="replace-demo"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;Multi-file path configuration.&lt;/p&gt;

&lt;p&gt;Sometimes you don't want to open the target file every time. At this time, the multi-file path configuration will help you solve this problem. This function is triggered when your vscode has only one visible editor window, and the path is based on the root directory.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--IYFn7eLS--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/wg6rm5a9jz7vv6z2wxh5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--IYFn7eLS--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/wg6rm5a9jz7vv6z2wxh5.png" alt="multiple-file"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--wl99nZQU--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/fvxcp4kfeer58mczm0in.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--wl99nZQU--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/fvxcp4kfeer58mczm0in.gif" alt="multiple-file-demo"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;Keyboard shortcuts configuration.&lt;/p&gt;

&lt;p&gt;Default button configuration (window &amp;amp; mac)&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Insert operation &lt;code&gt;alt+r&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Update operation &lt;code&gt;alt+t&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Replacement operation &lt;code&gt;alt+y&lt;/code&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;You can also make customize settings in the shortcut key setting interface.&lt;/p&gt;

&lt;p&gt;PS: If you think this plug-in is helpful to you, &lt;a href="https://github.com/AKclown/file-teleport"&gt;don't be stingy with the'⭐' in your hand to start the project&lt;/a&gt;, your encouragement is biggest support to the author. If you finds bugs or interactive improvements,you can go to the project to &lt;a href="https://github.com/AKclown/file-teleport/issues"&gt;raise issue&lt;/a&gt;.&lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
