文本类文件与VS关联实践

【问题描述】
为了方便办公,常把一类文本类文件使用vs工具打开,比如.sql后缀;
在办公电脑上,先后安装了Sqlserver、VS2003、VS2005、VS2008。由于开发工具直接从vs2003到vs2008,那么方便sql阅读编写,也需要sql使用vs2008打开,问题出现了:始终使用vs2003打开!
好,我调整文件属性的打开方式,设定为VS2008打开。杯具继续出现:我已打开了一个开发的VS2008,点击某.sql文件,它自动打开新的VS2008,不能在已打开的VS2008打开文件~~~~我不需要这么多VS2008并存!!捣鼓捣鼓~~~~终于合并了,能在同一VS2008打开了!
仔细想了下,我在家的VS好像也没有实现。安装类似的捣鼓,杯具了,始终不行~~~~

【目的】
在同一个VS框框中,点击N多文件(不同类型的文件,且由VS来Open的)由这一个VS框框打开~~~

【解决】
常规的不见得有效,很杯具。捣鼓注册表吧~~~

为了更有说明和一般性,安装虚拟机VM6,继而虚拟Xp操作系统,最后安装VS2008,这样常规的操作环境就搭建了。

在捣鼓前,先测试my.sql文件,点击后,默认使用记事本打开(系统默认的,这是对的);再建立your.sql文件,同样记事本打开;修改此类文件sql的打开方式-vs2008,再点击my.sql,弹出vs框框;再点击your.sql,又弹出vs框框;杯具,2个vs框框,your.sql不能在前一个vs框框打开

症状和个人电脑症状一致!

解决过程不说了,最后确认了3个注册表地方:
1、HKEY_CLASSES_ROOT\.sql
2、HKEY_CLASSES_ROOT\sqlfile.7.1
3、HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.sql

解说下:
1、定义此类文件的打开属性(由谁打开)
2、定义打开工具的属性(怎么打开)
3、关联到浏览器的文件扩展打开中,告知:此类文件可以由上述定义打开(哪个告知打开)

以下是定义Vs2005工具在同一窗口里打开多个文件的reg配置:
Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\.sql]
"PerceivedType"="text"
@="SQLScriptFile"
"Content Type"="text/plain"

[HKEY_CLASSES_ROOT\.sql\OpenWithList]

[HKEY_CLASSES_ROOT\.sql\OpenWithList\devenv.exe]
@=""

[HKEY_CLASSES_ROOT\.sql\OpenWithProgids]

[HKEY_CLASSES_ROOT\.sql\OpenWithProgids\sqlfile.7.1]
@=""

[HKEY_CLASSES_ROOT\sqlfile.7.1]
@="SQL Script file"
"AlwaysShowExt"="1"

[HKEY_CLASSES_ROOT\sqlfile.7.1\DefaultIcon]
@="C:\\Program Files\\Microsoft Visual Studio 8\\Common7\\Tools\\VDT\\2052\\vdt80pui.dll,-1054"

[HKEY_CLASSES_ROOT\sqlfile.7.1\shell]

[HKEY_CLASSES_ROOT\sqlfile.7.1\shell\Open]

[HKEY_CLASSES_ROOT\sqlfile.7.1\shell\Open\command]
@="\"C:\\Program Files\\Microsoft Visual Studio 8\\Common7\\IDE\\devenv.exe\" /dde"

[HKEY_CLASSES_ROOT\sqlfile.7.1\shell\Open\ddeexec]
@="Open(\"%1\")"

[HKEY_CLASSES_ROOT\sqlfile.7.1\shell\Open\ddeexec\application]
@="VisualStudio.8.0"

[HKEY_CLASSES_ROOT\sqlfile.7.1\shell\Open\ddeexec\topic]
@="system"

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.sql]
"Progid"="sqlfile.7.1"

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.sql\OpenWithList]
"a"="NOTEPAD.EXE"
"MRUList"="ab"
"b"="VSLauncher.exe"

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.sql\OpenWithProgids]
"SQLScriptFile"=hex(0):
"sqlfile.7.1"=hex(0):

Over,这里正式解决了此类问题!!!!很辛苦的!!

原文地址:https://www.cnblogs.com/GoGoagg/p/1895565.html