Выбор фрагмента: отобразить одно значение и дополнить другим значением - PullRequest
1 голос
/ 07 апреля 2020

Я не знаю, возможно ли это, но я хочу узнать у всех удивительных людей, которые читают и отвечают на эти вопросы.

У меня есть этот фрагмент, который я делаю для css / scss / sass, чтобы помочь с импортом шрифтов. Это код, который у меня есть на данный момент и который я хотел бы построить:

"Import font": {
    "scope": "css,scss,sass",
    "prefix": "@import, @im, @i",
    "body": "@import url('${1|https://fonts.googleapis.com/css2?family=,https://|}');"
},

Это работает просто отлично. Это позволяет мне выбирать между URL-адресом шрифтов Google или просто пустым https://.

. Мой вопрос заключается в том, можно ли в настройках отображать другое значение при вставке во фрагмент. Например, в первом параметре укажите Google Fonts, а в другом - Other (или что-то в том же духе).

Моя конечная цель для этого состоит в том, чтобы этот фрагмент позволял мне выбирать из список шрифтов, которые я часто использую, но я хочу сделать его читабельным.

РЕДАКТИРОВАТЬ: ответ @ Mark позволил мне продолжить мой PO C, и я хотел бы поделиться этим со всеми вами:

"Import font": {
    // "scope": "css,scss,sass",
    "prefix": "@import, @im, @i",
    // "body": "@import url('${1|https://fonts.googleapis.com/css2?family=,https://|}');"
    "body": "@import ${1|url('Google Fonts,url('Other|}');" // explained below**
},
"Google Fonts": {
    // "scope": "css,scss,sass",  // just disabled for testing purposes
    "prefix": "url('Google Fonts",
    "body": "url('https://fonts.googleapis.com/css2?family=${1|Open Sans,Other Font|}"
},
"Open Sans": {
    // "scope": "css,scss,sass",
    "prefix": "Open Sans",
    "body": "Open+Sans&display=swap"
},

Очевидно, что в этой концепции есть дыры, когда дело доходит до выбора стилей, весов и т. Д. c., Но идея есть!

1 Ответ

1 голос
/ 07 апреля 2020

Это возможно, и рабочий процесс не так уж плох. Вам понадобятся следующие фрагменты:

 "Import font": {
      // "scope": "css,scss,sass",
      "prefix": "@import, @im, @i",

      // "body": "@import url('${1|https://fonts.googleapis.com/css2?family=,https://|}');"

      "body": "@import ${1|url('Google Fonts,url('Other|}');"  // explained below**
  },


  "Google Fonts": {
      // "scope": "css,scss,sass",  // just disabled for testing purposes
      "prefix": "url('Google Fonts",
      "body": "url('https://fonts.googleapis.com/css2?family="
  },

  "Other": {
      // "scope": "css,scss,sass",
      "prefix": "url('Other",
      "body": "url('https://"
  },

RELOAD WINDOW vscode после внесения этих изменений. Важно!


"body": "@import ${1|url('Google Fonts,url('Other|}');"

Это написано так, потому что для запуска фрагментов завершения (Google Fonts and Other) нужен пробел, предшествующий , их префиксы в противном случае vscode не распознает их как фрагменты. Так как они будут пробелом (до url.... он будет выглядеть как другой фрагмент и может быть дополнен Ctrl + Пробел .

Демонстрационная картинка Это замечательно при включении нажатий клавиш, но вы делаете еще один Ctrl + Пробел после выбора варианта запуска фрагмента завершения.

Демо:

font snippet choices

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...