崇高作为默认编辑器

问题描述:

有没有办法将Sublime Text设置为Windows 7上文件格式的默认文本编辑器?崇高作为默认编辑器

而且,如果有人知道一个崇高的文本教程或维基那将是真正的帮助。与在资源管理器所需的扩展文件

+8

http://www.binaryfortress.com/NotepadReplacer/ – 2013-04-18 16:59:43

+0

NotepadReplacer通过将自己设置为notepad.exe的调试程序并将argv传递到首选文本编辑器来使用图像劫持。 – 2014-05-29 14:35:41

+5

标记为脱离主题。这个问题更多的是关于使用Windows和Sublime Text而不是编程,所以我认为它属于SuperUser,而不是StackOverflow。 – ArtOfWarfare 2014-07-21 16:33:59

其实这不是我的回答,我刚才googled it

  1. 打开注册表编辑器( + [R,类型“regedit”,选择确定)。
  2. 导航到HKEY_CLASSES_ROOT\Applications\sublime_text.exe\shell\open\command
  3. 验证路径是否准确,如果不正确则更正。退出regedit。通过
  4. 打开任务管理器按Ctrl + Alt键+德尔(或按Ctrl ++ Esc键更高版本的Windows),杀死Explorer.exe的,去跑( + R),然后输入“explorer.exe”(或跳过这一步,然后重新启动)。
  5. 现在尝试相同的操作,右键单击文本文件,打开,导航至崇高,现在应该显示在可用应用程序的列表中。

对我来说价值指着其中便携版以前放置在桌面上。因此它不起作用。

P.S.对我而言,重新启动或注销并不是必需的(WinXP)。

+41

顺便说一句,你可以使用Ctrl + Shift + Esc直接打开taskmanager.exe – 2012-08-02 15:03:19

+5

+1这应该是接受的答案 – Heliac 2013-07-16 08:59:25

+1

+1这对我有效。这应该是接受的答案恕我直言。 – cbmeeks 2013-07-16 13:17:54

打开快捷菜单,选择比与 - 打开>你的编辑器(可能是你需要浏览的二进制它出现在可用程序列表中之前),并设置勾选“始终使用选定的程序打开这种文件“。

+8

我试过但它不适合我,不知道为什么。 ( – Dev 2012-07-26 09:58:40

+6

)对于任何使用修改注册表的版本的人来说,这都不起作用 – avp 2012-08-02 11:43:04

+2

-1 StackOverflow不是“Windows for Dummies”,显然这个问题还有更多的问题 – Heliac 2013-07-16 08:58:49

编辑于2014年11月21日

Tim Lewis指出了评论,有一个更宽泛的版本为http://www.binaryfortress.com/NotepadReplacer/,其效果更好。

原来的答案

试试这个:https://github.com/grumpydev/Sublime-Notepad-Replacement

+2

这太好了,谢谢! – MorganTiley 2012-11-05 17:13:01

+0

完美无缺地工作了 – scottm 2013-04-05 15:08:44

+3

这个更通用的版本是NotepadReplacer:http://www.binaryfortress .com/NotepadReplacer/ – 2013-04-18 17:00:32

如果您使用的是便携式版本,则不能将Sublime设置为任何文件的默认程序,因为Windows不会将其确认为可打开任何内容的程序。

+4

不,我们可以将它们设置为默认应用程序。 – IJas 2013-08-21 06:12:51

以下是一些关联Sublime Text Portable的方法。以下文本需要保存为扩展名为.reg的文件,然后在该文件上右键单击>合并。

这将添加一个崇高的右键菜单项中的所有文件:

Windows Registry Editor Version 5.00 

[HKEY_CLASSES_ROOT\*\shell] 
@="Sublime" 

[HKEY_CLASSES_ROOT\*\shell\Sublime] 
@="&Sublime" 

[HKEY_CLASSES_ROOT\*\shell\Sublime\command] 
@="\"D:\\PortableApps\\SublimeText\\sublime_text.exe\" \"%1\"" 

这将有崇高的文本替换所有呼叫的notepad.exe:

Windows Registry Editor Version 5.00 

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\Notepad.exe] 
"Debugger"="\"D:\\PortableApps\\SublimeText\\sublime_text.exe\" -z" 

这将创建一个SublimeFile类,然后您可以与任何扩展名关联。

Windows Registry Editor Version 5.00 

[HKEY_CLASSES_ROOT\SublimeFile\shell] 
@="edit" 

[HKEY_CLASSES_ROOT\SublimeFile\DefaultIcon] 
@="\"D:\\PortableApps\\SublimeText\\sublime_text.exe\",0" 

[HKEY_CLASSES_ROOT\SublimeFile\shell\edit\command] 
@="\"D:\\PortableApps\\SublimeText\\sublime_text.exe\" \"%1\"" 

这会再与SublimeFile .ext为扩展名相关联:

Windows Registry Editor Version 5.00 

[HKEY_CLASSES_ROOT\.ext] 
@="SublimeFile" 
+0

非常有用。谢谢。 – 2013-07-11 14:37:48

+0

谢谢!设置Sublime替换记事本是惊人的,但它不适用于包含空格的路径(至少对我来说),它只是为每个空格分隔的路径元素打开一个选项卡。任何想法解决这个问题? – Dan 2013-09-03 07:47:11

您可以只运行CCleaner的注册表清理工具,然后选择并添加默认程序如常。它从ST2升级到ST3时适用于我。

试试这个,

@echo off 

SET st2Path=C:\Program Files\Sublime Text 2\sublime_text.exe 

rem add it for all file types 
@reg add "HKEY_CLASSES_ROOT\*\shell\Open with Sublime Text 2"   /t REG_SZ /v "" /d "Open with Sublime Text 2" /f 
@reg add "HKEY_CLASSES_ROOT\*\shell\Open with Sublime Text 2"   /t REG_EXPAND_SZ /v "Icon" /d "%st2Path%,0" /f 
@reg add "HKEY_CLASSES_ROOT\*\shell\Open with Sublime Text 2\command" /t REG_SZ /v "" /d "%st2Path% \"%%1\"" /f 

rem add it for folders 
@reg add "HKEY_CLASSES_ROOT\Folder\shell\Open with Sublime Text 2"   /t REG_SZ /v "" /d "Open with Sublime Text 2" /f 
@reg add "HKEY_CLASSES_ROOT\Folder\shell\Open with Sublime Text 2"   /t REG_EXPAND_SZ /v "Icon" /d "%st2Path%,0" /f 
@reg add "HKEY_CLASSES_ROOT\Folder\shell\Open with Sublime Text 2\command" /t REG_SZ /v "" /d "%st2Path% \"%%1\"" /f 

pause 

我测试了这对SublimeText 3(便携式)也和工作的罚款。用上面的代码创建一个.bat文件并以管理员身份运行它。

参考:https://gist.github.com/mrchief/5628677

+0

更新!,谢谢:) – IJas 2018-02-20 12:29:36

1:您还可以设置您的关联控制面板在:

控制面板>Default Programs>关联文件或协议与特定程序:

enter image description here

2:或者,通过IApplicationAssociationRegistrationUI::LaunchAdvancedAssociationUI从代码中调用它;)

HRESULT LaunchAdvancedAssociationUI(
    [in] LPCWSTR pszAppRegName 
); 
+2

这是一个比修改注册表更好的方法。感谢您发布此信息。 – 2015-08-25 22:35:27

+0

@nomadic_squirrel:不客气;) – 2015-09-04 19:18:54