gencer / SCSS-Everywhere

A Visual Studio Code extension that provides CSS class and ID atttribute completion with incremental build and usage explorer for the HTML class attribute based on the CSS/Template files in your workspace. Also supports React's className attribute.
https://marketplace.visualstudio.com/items?itemName=gencer.html-slim-scss-css-class-completion
MIT License
24 stars 9 forks source link

No autocomplete for sub-classes on scss #19

Closed Kcko closed 5 years ago

Kcko commented 5 years ago

Hi gencer,

with today i started work on new project and i see a strange behavior with some mistakes which were to be corrected in the previous commits / issues.

Video + explanation inside ... http://bit.ly/2S524WJ

:-(

gencer commented 5 years ago

This is not a bug but a missing feature.

To autocomplete such SCSS selectors, we need to compile SCSS first.

For example;

.class { // We can auto complete this.
  &--connected {
    // we cannot know this until SCSS compiled.
  }
}

But I think I can hack into it and show such completions. Let me do some demos on my end and update here.

What I can do here is, hack into such completions and merge myself in parser. This can be done. But need a work to do.

Kcko commented 5 years ago

In video you can see that im using app.css in project (where is everything after scss compilation).

Kcko commented 5 years ago

And it works on previous project (plugin show completitions for latte / php / css ) and when im setup scssUsing : true also in scss files. Now its works strangely.

gencer commented 5 years ago

Are you sure that file is indexed by this extension? Is it local? Can you send me that file via email again? If it works on my end then this files does not get indexed in your workspace.

gencer commented 5 years ago

So it works with that option?

gencer commented 5 years ago

Ah and one more thing:

As you know we introduced incremental build that's mean when you change something after VSCode opens, we will include that changes.

This does not counts changed files on disk. This means, If you build that app.css files via gulp or something, vscode will not see that file. You need to click action button bottom of vscode. Try this. If it works, I will add this event to vscode.

imichall commented 5 years ago

Ah and one more thing:

As you know we introduced incremental build that's mean when you change something after VSCode opens, we will include that changes.

This does not counts changed files on disk. This means, If you build that app.css files via gulp or something, vscode will not see that file. You need to click action button bottom of vscode. Try this. If it works, I will add this event to vscode.

Yeah, it should be the problem @Kcko. Otherwise, will be this function added as feature into this extension as automatically? That will be watching changing files / dirs like a gulp or something like that? Just question.

gencer commented 5 years ago

Yeah, it should be the problem @Kcko. Otherwise, will be this function added as feature into this extension as automatically? That will be watching changing files / dirs like a gulp or something like that? Just question.

Yup. That was what I am thinking of. I will watch changed files on disk. But I need @kcko to confirm this. He probably restarted vscode thats why it did worked on second time -not by option-. Because next time he start vscodei app.css was there already.

Kcko commented 5 years ago

Project eshop: (buggy)

css file here: http://nette-bootstrap.r.dev7.andweb.cz/assets/css/dev/app.css?1550137895 new video here: http://bit.ly/2X2m7c0

of course i press "uncache" btn on the bottom of VSC and after for sure I restarted VSC a several times - without change.

All files ale local.

Kcko commented 5 years ago

Soccer project: (buggy less)

Video: http://bit.ly/2WYWYyK

Still with "html-css-class-completion.enableScssFindUsage": false

classes from BS are visible but occurences are only in (latte / php / html) css -> missing -> bad (we set findUsage on false, but this should control only scss file) scss -> missing -> godd (because we set findUsage on false)

Some idea whats bad?

Kcko commented 5 years ago

and one small piece at the end, when i wrote exact name for class, it never on first position in the suggestion list.

gencer commented 5 years ago

I will look into this and release new version.

Soccer project: (buggy less)

Video: http://bit.ly/2WYWYyK

Still with "html-css-class-completion.enableScssFindUsage": false

classes from BS are visible but occurences are only in (latte / php / html) css -> missing -> bad (we set findUsage on false, but this should control only scss file) scss -> missing -> godd (because we set findUsage on false)

Some idea whats bad?

It will be fixed in next build.

gencer commented 5 years ago

Project eshop: (buggy)

css file here: http://nette-bootstrap.r.dev7.andweb.cz/assets/css/dev/app.css?1550137895 new video here: http://bit.ly/2X2m7c0

of course i press "uncache" btn on the bottom of VSC and after for sure I restarted VSC a several times - without change.

All files ale local.

I will look deeper on this.

Kcko commented 5 years ago

So we should be clear about the behavior of plugin, I'm already losing myself.

It should works like that:

default behavior

Autocompletition for

When i add / change / delete some class or id in css file, it will rescan only file where i did it. Fullscan will run only once (when i loaded project / workspace at first).

When i set "html-css-class-completion.enableScssFindUsage": true autocompletition will work on scss file now + will show occurences also.

Is it allright like this?

gencer commented 5 years ago

Yes but i think you misunderstood how enableScssFindUsage works. I will explain in detail on readme later.