Проблема в том, что ваш обработчик щелчков устанавливает значение expanded
в значение , а затем обработчик событий щелчка документа устанавливает его в значение false, поэтому всегда ложно.
Вы можете установить значение false только в том случае, если целью события не является ваш компонент:
https://stackblitz.com/edit/mouse-click-anywhere-8bwg6p?file=src/ app / hello.component.ts
@HostListener('document:click', ['$event'])
documentClick(event: MouseEvent) {
console.log('clicked');
console.log(event);
if (event.target.id !== 'box') {
this.isEnlarged = false;
}
}
Выберите, чтобы открыть файл в Проводнике [1] вместо SSMS. Таким образом, система сначала будет искать любые существующие экземпляры SSMS.
[1] % windir% \ explorer.exe
Не думаю, что проблема в команде внешнего инструмента Visual Studio , Посмотрите на параметры командной строки SSMS - возможно, есть способ принудительно использовать существующий экземпляр SSMS.
Если вы связываете это расширение с Visual Studio, тогда VS должен его открыть.
Если вы обнаружите, что VS запускает новый экземпляр каждый раз, тогда вам нужно укажите параметр командной строки / edit.
Посмотрите http://stevedunns.blogspot.com/2009/03/programs-that-launch-or-should-launch.html для получения дополнительной информации. информация.
Правильный ответ - нет. SSMS имеет ограниченный набор параметров и, хотя он использует инфраструктуру VS, не поддерживает команду редактирования. Это может быть интересная функция для добавления.
Я предполагаю, что вам нужно открыть эти сценарии в SSMS, чтобы иметь возможность запускать их, в противном случае я бы предложил указать их непосредственно в Visual Studio, поскольку он поддерживает подсветку синтаксиса. Однако это не решит вашу проблему.
Следующее работает для меня (хотя я использую SQL Server 2008):
Итак, настоящий ответ, который я сомневаюсь, - использовать cmdow
Править: После дополнительных испытаний я понял последующий : Сначала откройте файлы с соединением с помощью: (удалите все вводы при копировании, это один лайнер)
"C:\Program Files\Microsoft SQL Server\100\Tools\Binn\VSShell\
Common7\IDE\Ssms.exe" "C:\Users\yordgeor\Desktop\Trigger.sql"
"C:\Users\yordgeor\Desktop\Trigger1.sql" -S ysg -d poc_dev -E -nosplash
В этом примере он открывает два файла (но вы, конечно, можете открывать меньше;) after which , No matter how many times I run
cmdow /Run "C:\Users\yordgeor\Desktop\Trigger1.sql"
cmdow /Run "C:\Users\yordgeor\Desktop\Trigger2.sql"
cmdow /Run "C:\Users\yordgeor\Desktop\Trigger3.sql"
it opens the same instance of the Microsoft Sql Server Management Studio with the same connection
you could open at once at the command line many files , but I quess you asked for the upper answer.
So you could find the path to the Ssms.exe by: cd %ProgramFiles%
dir *ssms.exe /s /b
so the syntax of the command is: pathToTheExe pathToFile1 pathToFile2 -S serverName -d DatabaseToConnectTo -E (toUseWindowsAuthentication) -nosplash
After 20 seconds of googling I cheated from here: