Добавление URL к пункту возвышенного текста 3 не работает, если в пути к файлу есть пробелы.Как вы избегаете текст для ST3? - PullRequest
1 голос
/ 31 марта 2019

Я не знаю, как выразить это кратко, так что здесь запутанный способ. Очевидно, я играю и пытаюсь настроить Sublime Text 3. Я подумал, что должен как можно быстрее избавиться от этого. ;)

В любом случае, я наткнулся на пример, который позволяет вам добавить пункт меню в список меню ST3, который по сути является URL. Я добавил его в меню Справка.

Фрагмент кода:

  {
    "caption": "Help",
    "mnemonic": "H",
    "id": "help",
    "children": [
      {
        "command": "open_url",
        "caption": "Twitter",
        "args": {"url": "https://twitter.com/WhatsTrending"}
      },
    ],
  },

Тогда, подумал я, не было бы здорово, если бы он также мог открыть какой-нибудь локальный файл, поэтому я добавил это:

  { 
    "caption" : "Local File",
    "command" : "open_url",
      "args" : { "url": "file:///Users/<username>/me.html" },
  },

И, к моему удивлению, это сработало! Он открыл локальный файл в браузере, так что я был взволнован и подумал, что поскольку место для сохранения какой-либо настройки для ST3 - "~/Library/Application Support/Sublime Text 3/Packages/User", я решил сохранить там локальный html-файл. Итак, теперь я добавил это:

  {
    "caption":"ST3 Custom File",
    "command" : "open_url",
      "args": {"url": "file:///Users/<username>/Library/Application Support/Sublime Text 3/Packages/User/me.html"}
     },
  },

Я ожидал работы, но это не так, я совершенно сбит с толку. Я предполагаю, что пробелы на пути должны быть исключены, но все, что я пытаюсь, терпит неудачу, кто-нибудь знает, как правильно избежать этого?

Очевидно, что это не работает "file:///Users/<username>/Library/Application Support/Sublime\ Text\ 3/Packages/User/me.html", так как строка не оценивается или не интерполируется.

1 Ответ

3 голосов
/ 31 марта 2019

Конечно, через 30 минут после публикации я попробовал что-то, что получилось.Так как я не мог думать ни о чем другом, я попробовал URL-кодирование, и это на самом деле сработало.Все, что мне нужно было сделать, это заменить "" (пробел) на "% 20" и альт!Он работает, как и ожидалось.

Так что последний, теперь выглядит так:

  {
    "caption":"ST3 Custom File",
    "command" : "open_url",
      "args": {"url": "file:///Users/<username>/Library/Application%20Support/Sublime%20Text%203/Packages/User/me.html"}
   },

И это ST3 действительно открывает HTML-файл в браузере по умолчанию.В любом случае, я надеюсь, что это кому-то поможет.

...