【问题标题】:Visual Studio C# How to paste line after caretVisual Studio C#如何在插入符号后粘贴行
【发布时间】:2018-05-24 06:19:08
【问题描述】:

当我在没有选择的情况下使用 Ctrl+C 复制一行时,Ctrl+V 将导致该行被插入到我的选择上方,即使插入符号在某些内容之后。

例子:

Foo();
Bar(); X

在 X 处粘贴第 1 行将导致

Foo();
Foo();
Bar();

是否有可能实现更多类似的目标?

Foo();
Bar(); 
Foo();

只有当我在没有选择的情况下复制和粘贴时才会发生这种情况。选择整行并复制将导致 Foo 被粘贴到 Bar 之后,粘贴到某些选定文本时也会发生同样的情况。

我目前正在使用 Visual Studio Community 2017。

【问题讨论】:

  • 我无法在 VS2017 Enterprise 中重新创建此行为。正如人们所期望的那样,所有内容都会粘贴到插入符号所在的位置。
  • 我补充说这只是在没有选择的情况下发生,这在你的VS中仍然没有发生吗?
  • 啊,确实,如果您不进行选择,它确实可以这样工作。我不得不承认我从来没有在没有选择的情况下使用 ctrl-C...嗯,解决它的简单方法当然是在 ctrl-V 之前按 enter。

标签: c# visual-studio copy-paste


【解决方案1】:

我认为您无法对其进行配置,但您可以使用“向上移动选定的行”功能解决此问题

  1. 粘贴 (Ctrl+V)
  2. 向上移动(Alt+向上箭头)

键盘快捷键可能因您的 VS 设置而异。您可以在“编辑->高级->上移所选行”中找到此功能

【讨论】:

    【解决方案2】:

    您可以使用以下命令(C# 语言)和我的Visual Commander 扩展名在当前行之后粘贴一行:

    public void Run(EnvDTE80.DTE2 DTE, Microsoft.VisualStudio.Shell.Package package) 
    {
        DTE.ExecuteCommand("Edit.LineDown");
        DTE.ExecuteCommand("Edit.Paste");
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-09-09
      • 1970-01-01
      • 2020-05-22
      相关资源
      最近更新 更多