Відкрийте два екземпляри файлу за один сеанс Visual Studio


554

У мене є файл, xyz.cpp . Я хочу відкрити два екземпляри цього файлу у студії Visual (BTW, я використовую Visual Studio 2005). Чому я хотів би це зробити? Я хочу порівняти два розділи одного і того ж файлу поряд. Я знаю обхідні шляхи, такі як:

  1. Зробіть копію файлу. Але проблема полягає в тому, що це не елегантно, і я не хочу робити копії кожного разу, коли стикаюся з цим.

  2. Я можу розділити вікно на два. Проблема з розділенням її полягає в тому, що я можу розділити її лише горизонтально. Результатом горизонтального розколу є те, що права частина мого екрана - це пробіл.

Якби мені вдалося розділити його вертикально або відкрити два екземпляри одного файлу, це збільшило б кількість рядків коду, які я можу порівняти.


12
Якщо ви хочете просто порівняти частини файлу, ви можете використовувати Window | Розділіть файл, який розділить файл горизонтально від середини.
vexe

@vexe Ідеально. Саме те, що мені було потрібно. Розбиває вікна, обидва редагують один і той же файл.
Вінсент П

3
З якої причини ви не прийняли відповідь з найвищим голосом?
cp.engr

1
@ cp.engr, зі свого профілю: "Востаннє бачив 6 грудня '09 о 12:41". Прикро, що користувачі з високою кількістю представників не можуть відзначати відповіді прийнятими.
Лікар Джонс

Відповіді:


903

Ось як це зробити ...

  1. Виберіть вкладку, на якій потрібно дві копії
  2. Виберіть у меню меню ВікноНове вікно .
  3. Клацніть правою кнопкою миші нову вкладку і виберіть команду Нова вертикальна група вкладок

Якщо Нове вікно не вказане в меню * Вікно, зауважте, що команда існує, навіть у Visual Studio 2017. Додайте її до меню Вікно за допомогою меню ІнструментиНалаштуватиКоманди . Після цього вирішіть, куди слід поставити команду « Нове вікно» та виберіть « Додати команду» .

ОНОВЛЕНО "30 липня 2018 року"

У коді Visual Studio версії 1.25.1 та пізнішої версії

Шлях 1

Ви можете просто клацнути лівою кнопкою миші файл на бічній панелі (Explorer) і натиснути Ctrl+ Enter.

Шлях 2

Просто клацніть правою кнопкою миші на своєму файлі на бічній панелі Visual Studio Code (Explorer) і виберіть перший варіант, відкритий в бік .


50
Якщо у вас є доступний простір на екрані, як-от другий монітор, ви також можете перетягнути нову вкладку з Visual Studio і побачити її, наприклад, на другому моніторі.
Артур Карвальо

4
Це можна зробити лише для певних типів файлів ... наприклад, у тому самому .xaml-файлі не може бути відкрито два вікна. Який облом, тому що я хочу зробити!
cplotts

4
@ Shlomi.A. Спробуйте відповідь Луки
Jason S

2
Для XAML в WPF опція New Window просто не існує.
Preza8

2
Цей метод працює, але в моєму VS 2010 ярлик [Ctrl] [Shift] [N] був прив’язаний до Файл> Новий> Проект
користувач1556435

67

Для Visual Basic, HTML та JScript та RDL Expression Window > New Windowпараметр, згаданий у відповіді PaulB, вимкнено. Однак у Реєстрі можна змінити параметр, щоб увімкнути пункт меню.

Усі інші мови не обмежуються одним вікном коду, тому ви можете використовувати відповідь PaulB без редагування реєстру.

Увімкнення нового вікна в реєстрі Windows. [ 1 ] [ 2 ]

  1. Перейдіть до наступного ключа реєстру. Цей приклад призначений для Basic (Visual Basic), але ключ також є для HTML, JScript та RDL Expression.

    • 64-розрядна ОС: HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\10.0\Languages\Language Services\Basic
    • 32-розрядна ОС: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\10.0\Languages\Language Services\Basic
  2. Знайдіть значення Single Code Window Onlyта виконайте одну з наступних дій:

    • Встановіть його на 0
    • Перейменуйте значення
    • Видаліть значення ( будьте обережні !)

Це ввімкне пункт меню «Нове вікно», але він все ще може бути непомітний у меню.

Додавання елемента меню

Щоб реально побачити пункт меню "Нове вікно", мені довелося додати його назад до меню:

  • Інструменти> Налаштувати ...> Команди> Додати команду ...
  • Виберіть "Рядок меню", у спадному меню виберіть меню "Вікно"
  • Додати команду ...> вікно> нове вікно> ОК

Відновлення значення реєстру
Скопіюйте це в блокнот, збережіть його як .reg файл та імпортуйте файл у свій реєстр, щоб відновити початкові налаштування.

[HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ Microsoft \ VisualStudio \ 10.0 \ Мови \ Мовні служби \ Основні]
"Тільки вікно єдиного коду" = dword: 00000001

Не потрібно редагувати реєстр файлів C #, оскільки пункт меню "Нове вікно" вже повинен бути включений для файлів C # (у VS 2010). Це потрібно зробити лише для VB, HTML або JScript. Відповідно до цього звіту про проблеми MS Connect, будь-які проблеми з цим виправлені для VB, вам потрібно просто видалити або перейменувати запис реєстру, щоб увімкнути цю функцію.
Джейсон S

1
Це працює і в Visual Basic 2010 Express. Я радий повідомити. Ключ реєстру дещо інший: [HKEY_LOCAL_MACHINE \ Software \ Wow6432Node \ Microsoft \ VBExpress \ 10.0 \ Languages ​​\ Language Services \ Basic].
лихи лози

Не працює для мене. Спробувавши перезапустити VS2010, дасть йому ще один шанс після перезавантаження комп'ютера ... (хто знає, як читаються / зберігаються / оновлюються записи реєстру)
Mars Robertson

Я щойно це перевірив (я думаю, мій ключ реєстру був перезаписаний оновленнями чи іншим). Я не вимагав перезавантаження. Я змінив ключ із запуском VS2010, "Нове вікно" все ще перебуває в сірому кольорі. Потім закрили VS2010 і відкрили VS2010, і "Нове вікно" доступне.
Люк Гофманн

3
У VS2010 перегортання біта реєстру для JScript дозволяє відкрити другу вкладку для файлу JavaScript (так), але нічого, крім білості, не відображається у кожній вкладці (boo).
G-Wiz

18

Відкрийте файл (якщо ви використовуєте кілька груп вкладок, переконайтеся, що файл вибрано).

Вікно меню → Спліт (поперемінно, є цей крихітний нуб трохи вище вертикальної смуги прокрутки редактора - схопіть його та перетягніть вниз)

Це дає два (горизонтальні) подання одного файлу. Остерігайтеся, щоб будь-які дії редагування відображалися на обох переглядах.

Як тільки ви закінчите, візьміть спліттер і перетягніть його до кінця (або вікно меню → Видалити розділення ).


2
(Шрі: вибачте, "горизонтальний", як у рядках переглядів вирівнюються ... або один погляд над іншим). AFAIK, вертикальний (побічний) погляд не можливий.

7
Здається, не читав ОП, де він згадує, що знає про це саме.
Джейсон S



9

Відповідь Луки не спрацював для мене. Команда "Нове вікно" вже вказана в налаштуваннях налаштування, але не відображається в контекстному меню вкладок .js, незважаючи на видалення параметра реєстру.

Тому я використав:

Інструменти

Налаштувати ...

Клавіатура ...

Прокрутіть вниз, щоб вибрати Window.NewWindow

І я натиснув і призначив клавіші швидкого доступу, Ctrl+ Shift+ W.

Це працювало для мене.

==== EDIT ====

Ну, "працював" був занадто сильним. Ярлик на клавіатурі дійсно відкриває ще одну вкладку в тому ж файлі JavaScript, але досить безпомилково не видає вміст; це просто порожнє біле вікно! Можливо, вам пощастить більше.


3
Дякую. Це працювало для мене для VS2012 / VB.net. Відкриті інструменти - параметри - (в оточенні) клавіатура - виберіть вікно основних 6 із випадаючого меню - виберіть Window.NewWindow зі списку команд - натиснув ctrl + n, ctrl + w
CodingSlayer

8

Відкривши файл, перейдіть до вікна команд (меню ПереглядІнші WindowsВікно команд , або просто Ctrl+ Alt+ A)

Тип:

Window.NewWindow

І потім

Window.NewVerticalTabGroup

працював на мене (Visual Studio 2017).

Або за допомогою меню:

Вікно меню → Нове вікно

Вікно меню → Нова вертикальна група дотиків


Ви робили лорди з цим моїм сином. Дякую.
Андрій

4

Меню вікон , нова група горизонтальних / вертикальних вкладок , я думаю, буде.


3
AFAI бачите, ви не можете відкрити один і той же файл у різних групах вкладок
Gishu

3

Під час роботи з Visual Studio 2013 та VB.NET я виявив, що ви можете досить легко налаштувати меню та додати команду "Нове вікно" - не потрібно возитися з реєстром!

Бог тільки знає, чому Microsoft вирішила не включати команди для деяких мов ...?


Працювали легко для мене! Інструменти меню > Налаштувати . Потім на вкладці Команди виберіть Вікно у першому спадному меню, а потім натисніть кнопку Додати команду та voilà! (Visual Studio 2019)
кіберпонк

3

Для новіших версій (наприклад, Visual Studio 2017)

  • Виберіть вікно, яке потрібно дублювати.
  • Перейдіть на вкладку вікна та натисніть розділити вгорі списку.
  • Коли ви закінчите, клацніть його ще раз, щоб вимкнути його.

3
Вікно, розділене на дві половини, не те саме, що два вікна.
Tipx

1

Для типів файлів, де один і той же файл неможливо відкрити у вертикальній групі вкладок (наприклад, файли .vb)

  • Відкрийте 2 різних екземпляри Visual Studio
  • Відкрийте один і той же файл у кожному екземплярі
  • Змініть розмір вікон IDE і поставте їх поруч, щоб досягти вашого макета.

Якщо ви збережете на диску в одному екземплярі, вам доведеться перезавантажити файл при переході на інший. Крім того, якщо ви вносите зміни в обох випадках, вам доведеться вирішити питання про друге збереження. Visual Studio запропонує вам в обох випадках різні варіанти. Ви трохи спростите своє життя, якщо редагуватимете лише в одному екземплярі.


@Odrade - Чи можете ви вказати на правильну відповідь, яка працює для всіх типів файлів ...
Gishu

@Jason Добре, але все ж невірно стверджувати, що ви не можете відкривати один і той же файл кілька разів для порівняння. Це однозначно можливо, принаймні для файлів .cs
Одраде

@Odrade Ви маєте рацію. Я відредагував це, щоб спробувати це виправити. Повідомте вас про те, якщо ви хочете видалити коментарі на основі попередніх версій.
Джейсон S

@Odrade Я вирішив спробувати відповідь Луки Це набагато краще, ніж відкривати два екземпляри VS для користувачів VB, і я отримав свою нагоду.
Джейсон S

Це здається єдиним робочим рішенням для html-файлів, де редакція реєстру дає лише друге вікно
Кріс Ф Керролл

1

У мене немає копії Visual Studio 2005, але цей процес працює у Visual Studio 2008:

  1. Відкрийте xyz.cpp разом з іншим файлом.
  2. Клацніть правою кнопкою миші на заголовку вкладки та виберіть нову вертикальну групу вкладок.
  3. Клацніть лівою кнопкою миші на іншому файлі в першій групі вкладок.
  4. Знову відкрийте xyz.cpp через Explorer Explorer.

Тепер у вас повинні бути два екземпляри файлу в окремих вертикальних групах вкладок.


На моїх VS2K5 та VS2K8 він просто показує оригінальні екземпляри на другій вкладці для мене. Це якщо двічі клацнути в Провіднику рішень, Drag'n'drop з Провідника файлів або через Файл | Відкрити меню.
Паломник Симеона

@Simeon - Це станеться, якщо не відкриється інший файл (2-а частина кроку 1.)
si618,

Він знає, що вихідний файл відкритий в іншій вкладці групи. Можливо, це знову стосується файлів, які він дозволяє дублювати.
neoswf

0

Я придумав злом, який може призвести до результату, призначеного в оригінальній відповіді.

Якщо у вас є потрібний файл у двох вікнах управління джерелом, ви можете клацнути правою кнопкою миші на файл і вибрати порівняти, ви можете порівняти

Якщо ви порівняєте, у вас з'явиться нове вікно Called diff, в якому буде показано вміст вашого файлу.

Це, звичайно, не ідеально, оскільки у вікні різного кольору будуть різні кольори, що забруднюють текст. Примітка: ви можете порівняти файл, який ви хочете відкрити, і порожній файл, і тоді у вас з’явиться вікно на дуже потворному зеленому тлі.

Це не ідеально, це злом, але це був єдиний спосіб, коли я дійсно мав той самий файл у двох вікнах.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.