【问题标题】:Sublime as default editorSublime 作为默认编辑器
【发布时间】:2012-03-16 02:12:52
【问题描述】:

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

另外,如果有人知道 Sublime Text Tutorial 或 Wiki,那将非常有帮助。

【问题讨论】:

  • NotepadReplacer 通过将自己设置为 notepad.exe 的调试器并将 argv 传递给您首选的文本编辑器来使用图像劫持。
  • 标记为离题。这个问题更多是关于使用 Windows 和 Sublime Text 而不是编程,所以我认为它属于 SuperUser,而不是 StackOverflow。

标签: windows windows-7 text-editor sublimetext file-association


【解决方案1】:

在资源管理器中打开具有所需扩展名的文件的上下文菜单,而不是选择打开方式->您的编辑器(可能您需要在它出现在可用程序列表中之前浏览其二进制文件)并设置复选框“始终使用选定的打开此类文件的程序”。

【讨论】:

  • 这不适用于使用修改注册表版本的任何人。详情见我的回答。
  • -1 StackOverflow 不是“Windows for Dummies”。显然还有更多的问题!
  • 这仍然可以帮助那些害怕编辑注册表的人。您不应该假设每个人都与您处于同一水平。
【解决方案2】:

2014 年 11 月 21 日编辑

Tim Lewis在评论中指出http://www.binaryfortress.com/NotepadReplacer/有一个更通用的版本,效果更好。

原答案

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

【讨论】:

  • 一个更通用的版本是 NotepadReplacer:binaryfortress.com/NotepadReplacer
  • 在 Windows 7 64 位和 Sublime Text 3 上,我的 Findekano 出现“应用程序无法启动”错误。@Tim Lewis 感谢这很好!
【解决方案3】:

其实不是我的答案,我只是googled it

  1. 打开regedit(Win+R,输入“regedit”,选择OK)。
  2. 导航到HKEY_CLASSES_ROOT\Applications\sublime_text.exe\shell\open\command
  3. 验证路径是否准确,如果不正确,请更正。退出注册表。
  4. 通过Ctrl+Alt+Del(或Ctrl+Shift kbd>+Esc 用于更高版本的 Windows),杀死 explorer.exe,运行 (Win+R) 并键入“explorer.exe”。 exe”(或跳过这一步直接重启)。
  5. 现在尝试相同的操作,右键单击文本文件,打开方式,导航到 sublime,它现在应该出现在可用应用程序列表中。

对我而言,该值指向先前放置便携式版本的桌面。因此它只是没有工作。

附:对我来说,不需要重启或注销 (WinXP)。

【讨论】:

  • 顺便说一句,你可以使用Ctrl+Shift+Esc直接打开taskmanager.exe
  • 工作了,我的注册表仍然指向 Sublime2 我去 Sublime3 时卸载了。
  • 对我来说,我的注册表“数据”值需要设置为:"C:\Program Files\Sublime Text 2\sublime_text.exe" %1
  • 谢谢,解决了我在 Win7 上的问题 - 甚至不需要杀死 explorer.exe,它就可以工作。
  • 我的值以前是 "C:\Program Files\Sublime Text 3\sublime_text.exe" "%1" - 即 %1 周围的双引号。我把这些双引号去掉了,所以值是"C:\Program Files\Sublime Text 3\sublime_text.exe" %1,重启explorer.exe和Sublime,然后就可以了
【解决方案4】:

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

【讨论】:

  • 不,我们可以将它们设置为默认应用。
【解决方案5】:

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

这将为所有文件添加一个 Sublime 右键菜单条目:

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\""

这将使 Sublime Text 替换所有对 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\""

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

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\.ext]
@="SublimeFile"

【讨论】:

  • 谢谢!设置 Sublime 来替换记事本很棒,但是它不适用于包含空格的路径(至少对我来说!),它只是为每个空格分隔的路径元素打开一个选项卡。有解决这个问题的想法吗?
  • @Dan - 在注册表中搜索 notepad.exe %1 并将所有找到的实例替换为 notepad.exe "%1"
  • 这是所有这些答案中唯一在 Windows 10 上对我有用的东西:[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\Notepad.exe] "Debugger"="\"C:\Program Files\Sublime Text 3\sublime_text.exe\" -z"
【解决方案6】:

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

【讨论】:

    【解决方案7】:

    试试这个,

    @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(Portable) 测试了这个并且工作正常。用上面的代码创建一个.bat文件并以管理员身份运行。

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

    【讨论】:

    • 在 Win10 64 位上运行良好
    【解决方案8】:

    1:您也可以在控制面板中设置关联:

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

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

    HRESULT LaunchAdvancedAssociationUI(
       [in]  LPCWSTR pszAppRegName
    );
    

    【讨论】:

    • 这是比修改注册表更好的答案。感谢您发布此内容。
    【解决方案9】:

    我也遇到了同样的问题。 唯一的解决方案是手动更正 --> 打开 regedit 并导航到 Computer\HKEY_CLASSES_ROOT\Applications\,找到 sublime_text.exe 条目,然后将其删除。您现在应该可以将 Sublime Text 3 设置为您想要的任何内容的默认编辑器。

    我在这篇文章中找到了这个解决方案:https://forum.sublimetext.com/t/cant-make-default-editor-in-windows/10747/14

    【讨论】:

      【解决方案10】:

      我尝试了所有选项以将 sublime text 3 作为我的 .php、.css 和/或 .js 文件的默认程序 我不完全知道为什么都失败了,我认为这与 windows 10 当前版本的错误有关

      但好消息是我有一些工作方法,也适用于那些喜欢 CMD 的人

      1. 以管理员身份打开 CMD
      2. 运行此行:FTYPE sublime="C:\Program Files\Sublime Text 3\sublime_text.exe" "%1"
      3. .php 文件使用这个命令:ASSOC .php=sublime js 使用这个:ASSOC .js=sublime 等等...

      【讨论】:

        【解决方案11】:

        sublime 可以通过以下步骤设置为默认文本编辑器:

        1. 右键单击 .txt 文件并选择属性。
        2. 然后在Open with:选项中点击Change
        3. 如果 sublime 列在应用程序列表中,则选择它,如果没有向下滚动并单击 在此 PC 上查找另一个应用程序,然后选择 sublime 应用程序文件

        【讨论】:

          猜你喜欢
          • 2011-07-21
          • 2017-05-14
          • 2012-04-12
          • 1970-01-01
          • 2019-04-01
          • 2015-09-04
          • 2014-05-22
          • 1970-01-01
          相关资源
          最近更新 更多