Copy-Cutter: Windows 代码“片段”管理器






4.50/5 (4投票s)
一个帮助在任何基于 Windows 的 IDE 中快速生成代码“片段”的工具 - 使用 OneDrive 在 PC 之间剪贴板传输
Microsoft 的 代码片段很棒,但有时它们不够用。 当您需要编写大量相似的代码块时,复制粘贴会派上用场,这些代码块仅在您实例化、采样或设置的变量名称上有所不同。 即使代码片段可以快速构建 For 循环或嵌套 If-Else 语句的框架,您也无法使用它们为几乎相同且差异很小或没有差异的变量或对象的列表生成一系列相似的代码行。 即使您可以创建自己的 MS Visual Studio 代码片段添加到现有列表中,这样做也需要一些工作,代码片段的限制相对较大,而且您可能根本就没有在 Visual Studio IDE 中进行编码。 VS 代码片段可以帮助您设置 For
循环、Enum
或 Do
-While
,但它们无法帮助您实例化一组需要设置颜色和字体、添加文本的按钮。 完成这些操作仍然需要一些打字工作。
这就是 Copy-Cutter 应用程序的用武之地。 它的使用非常简单。
- 在 Copy-Cutter 表单上单击“格式编辑器”按钮。
- 从“格式编辑器”列表中选择一个格式(或创建您想要的格式),然后单击“确定”。
- 将任意多代码(例如,变量或对象名称)复制/剪切到 Microsoft 的剪贴板。
- 在 Copy-Cutter 上单击“剪贴板 - 转储”按钮。
- 将鼠标光标定位在工作空间中您想要插入生成代码的位置。
- 将生成的代码粘贴到您的项目中。
例如,假设您需要创建几个基本功能相同的按钮。
您的方法可能如下所示
void Example()
{
// Button - var1
System.Windows.Forms.Button btnvar1 = new System.Windows.Forms.Button();
btnvar1.Text = "var1";
btnvar1.AutoSize = true;
btnvar1.BackColor = System.Drawing.Color.Blue;
btnvar1.ForeColor = System.Drawing.Color.Yellow;
btnvar1.KeyDown += Btnvar1_KeyDown;
btnvar1.KeyUp += Btnvar1_KeyUp;
// Button - var2
System.Windows.Forms.Button btnvar2 = new System.Windows.Forms.Button();
btnvar2.Text = "var2";
btnvar2.AutoSize = true;
btnvar2.BackColor = System.Drawing.Color.Blue;
btnvar2.ForeColor = System.Drawing.Color.Yellow;
btnvar2.KeyDown += Btnvar2_KeyDown;
btnvar2.KeyUp += Btnvar2_KeyUp;
// Button - var3
System.Windows.Forms.Button btnvar3 = new System.Windows.Forms.Button();
btnvar3.Text = "var3";
btnvar3.AutoSize = true;
btnvar3.BackColor = System.Drawing.Color.Blue;
btnvar3.ForeColor = System.Drawing.Color.Yellow;
btnvar3.KeyDown += Btnvar3_KeyDown;
btnvar3.KeyUp += Btnvar3_KeyUp;
// Button - var4
System.Windows.Forms.Button btnvar4 = new System.Windows.Forms.Button();
btnvar4.Text = "var4";
btnvar4.AutoSize = true;
btnvar4.BackColor = System.Drawing.Color.Blue;
btnvar4.ForeColor = System.Drawing.Color.Yellow;
btnvar4.KeyDown += Btnvar4_KeyDown;
btnvar4.KeyUp += Btnvar4_KeyUp;
}
您创建的这些按钮几乎相同。 您可以编写第一个,然后复制粘贴其余的,然后为每个按钮更改变量名。 但这仍然是大量工作。
使用此应用程序,您将转到格式编辑器。 创建您需要的格式(如果它不在您的格式列表中)。 选择它,然后单击“确定”。 然后一次将每个变量名键入 MS 剪贴板(键入名称,突出显示它,然后按 Ctrl-X)。 然后使用“剪贴板转储”按钮将其全部转储到剪贴板,当您将其粘贴到工作中时,它将与上面显示的外观完全相同。
当您为当前示例创建了适当的格式时,格式编辑器看起来应该像这样。
<Source_Text> 这几个词将被您复制到剪贴板的任何内容替换。 发生的情况是,每次您在 CopyCutter 应用程序运行时复制文本到剪贴板时,该文本都会被添加到不断增长的文本列表中(通常是变量或对象名称)。 当您单击“剪贴板 - 转储”按钮时,您复制到剪贴板的列表中的每个项目都将生成上述格式化的文本,其中变量/对象名称替换了您所选格式中找到的 <Source_Text> 标签。
由于您自己将格式写入 Copy-Cutter,因此它们可以根据您的确切需求进行定制,并且不限于 Visual Studio 或任何其他语言。 您可以在 Arduino、Python、Assembly 甚至您自己的标记语言中使用它。 您无需在格式编辑器中键入 <Source_Text> 标签,只需按下显示/隐藏应用程序的相同 Control-Insert 组合键,当它在后台运行时等待您的调用。
实现此功能所需的代码相对简单。 所有格式都保存到一个 XML 文件中,您永远不需要关心它。 格式编辑器的界面足够用户友好,您可以即时创建自己的格式并随时使用它们。
现在,在上面的示例中,您已经生成了按钮,但它们附带了事件。 您还需要生成事件,这可能很麻烦。 大多数情况下,在定义按钮时,在事件名称前的“+=”之后按 Tab 键即可,但由于我们让 Copy-Cutter 为我们生成了代码,因此我们也必须使用 Copy-Cutter 来生成事件处理程序。 没问题。
- 将 Copy-Cutter 调用到屏幕上(如果它在后台运行,只需单击 Ctrl-Insert)。
- 在 Copy-Cutter 表单上单击“格式编辑器”按钮。
- 从列表中选择“事件标准”格式,然后按“确定”。
- 将事件名称从您的代码复制到剪贴板。
- 按“剪贴板 - 转储”。
- 将代码粘贴到您的应用程序中。
这一切都节省了大量时间。
也许您喜欢手工编写所有这些代码的单调乏味的苦差事,或者您不喜欢,但无论哪种方式,此应用程序都能让编写代码变得更快。
如果您只需在一行文本中键入变量名,并在它们之间用单个空格分隔,然后将“解析字符串分隔符”定义为单个空格(或任何将它们彼此分隔的文本),然后将整个行复制到 MS 剪贴板,则上面的示例可以做得更快。 Copy Cutter 将查看“解析字符串分隔符”并将复制的文本分解为单独的变量名。 因此,通过这种方式,您可以通过键入变量名来创建整个方法,然后使用这个简单易用的应用程序将所有内容复制并粘贴到您的项目中。
或者,您可以将“实时交换”选项切换为开启。 此功能允许您一次复制/粘贴一个变量/对象名称并生成相同的代码。 当此选项开启时,应用程序不会累积列表并等待您按下“剪贴板转储”,而是每次复制到 MS 剪贴板时生成您格式化的代码,并用您想要的格式化代码替换剪贴板中的内容。 只需复制并立即粘贴到任何您喜欢的地方。
我一直都在用。 预兆,它真是太棒了。
方便、通用、用户友好,现在只需要一个迷你酒吧,但您必须自己买单,加上客房服务。
云 - 剪贴板
由于我最近购买了第二台电脑,并且现在不仅拥有一台,而且是 两台 电脑的自豪拥有者,我最近发现了一种叫做“云”的东西。 Microsoft 的 OneDrive 是一种方便的方式,可以将信息从一台 MS PC 复制到另一台,但它们仍然不共享“剪贴板”。 Copy Cutter 具有云功能,允许您在一台计算机上使用 Microsoft 的剪贴板(剪切、复制和粘贴文本),然后让 Copy Cutter 将该文本放入另一台计算机的剪贴板中。
为此,您只需要在两台计算机上运行 CopyCutter。
- 将此应用程序的两个副本都设置为CloudClipboard模式,方法是单击模式按钮直到找到它。
- 在撰写本文时,它目前仅支持单向信息发送:从发送方到接收方。 您必须将两个应用程序都设置为适当的发送方/接收方选择,具体取决于您如何使用此功能。
- 由于它们依赖于 MS OneDrive 以及您在两台计算机之间共享的文件,因此您必须告诉应用程序您希望它在哪一个目录中运行。
完成此操作后,即可同时启用它们,即可开始使用。 只需将您想要发送到接收方的任何文本复制到发送方的剪贴板,片刻之后(当 OneDrive 将发送方的更改复制到接收方时),接收方的 CopyCutter 将检测到文本的到达,然后(当选择了自动打包时)用发送方剪贴板中复制的文本覆盖其剪贴板中存储的内容。
如果您想累积从发送方复制的文本列表并以后参考它们,请确保未选择自动打包,文本将在接收方的 CopyCutter 中累积。
当您想检索收到的文本时,单击已到达包按钮,文本将一次从 CopyCutter 的列表中复制到您 PC 的剪贴板。
如果您拥有我的 Words : A Creative Writer's Word Processor 副本,您可以将 CopyCutter:CloudClipboard 与笔记功能(工具栏上带有红色闪电切换的蓝色云图标)结合使用,并与 Copy-Cutter 应用程序结合使用。 按照上述步骤操作,选择自动打包,以便接收方自动覆盖剪贴板中的新文本,Words 将会自动拾取。
CloudClipboard:工作原理
CloudClipboard 功能依赖于 Microsoft 的 OneDrive 来保持您的文件最新,方法是通过定期用另一台计算机上的更改覆盖一台计算机上的旧文件。 CopyCutter 所做的是通过存储在选定的共享 OneDrive 目录中的文件在两台 PC 之间交换信息来利用此功能。
发送方和接收方都只写入 OneDrive 上的一个文件。
这些文件保存在各自计算机的 OneDrive 目录中。 下图显示,一旦 MS OneDrive 将更改从一台 PC 复制到另一台,它们就拥有可用的相同文件,CopyCutter 需要这些文件才能将信息从一个剪贴板传输到另一个剪贴板。
发送方读取接收方确认已读取并复制到接收方文件中的日期时间戳。 然后,发送方在发送方文件中查找该时间戳,删除该文件中的所有内容(在此之前),然后用在剪贴板中找到的任何新文本附加发送方文件,并将其保存在自己的 OneDrive 上。
OneDrive 将发送方文件的更改从发送方计算机复制到接收方计算机。
接收方跟踪它已读取并确认的最新时间戳。 它读取发送方文件,忽略所有在最新时间戳之前的,然后将其最新的时间戳覆盖到自己的 接收方文件中,以便让发送方知道它收到了多少信息。
OneDrive 将接收方文件的更改从接收方计算机复制到发送方计算机。
当发送方检测到其计算机剪贴板中有新内容时,过程将重新开始。
历史
- 2021年3月17日:初始版本
- 2021年4月1日:修复了加载格式的问题
- 2022年2月18日:添加了新的云功能