【问题标题】:VS Code autocomplete not working for CSS properties in GlobalStyles used in other styled componentsVS 代码自动完成不适用于其他样式组件中使用的 GlobalStyles 中的 CSS 属性
【发布时间】:2022-12-03 15:49:16
【问题描述】:
我目前正在开发一个项目,我在另一个文件中定义了全局样式并在另一个文件中声明了样式。尽管如此,在 GlobalStyles 中定义的自定义属性仍然无法自动完成。
我正在使用 VScode Styled component 分机
// GlobalStyles.tsx
import React from 'react';
import { createGlobalStyle } from 'styled-components';
import { COLORS } from '../constants';
const GlobalStyles = createGlobalStyle`
/* CSS Reset */
:root {
/* Primary */
--color-primary-10: hsl(25, 35%, 93%);
}
`;
// Search.tsx
import styled from 'styled-components';
const Wrapper = styled.section`
/* VS Code doesn't autocomplete */
color: var(--)
`;
【问题讨论】:
标签:
visual-studio-code
styled-components
【解决方案1】:
有几个设置会有所帮助
首先,我只想指出,您可以根据我在下面包含的设置更改您的 VS 代码配置。当你这样做的时候很有可能,结果会很有帮助。还有一种可能性是,这些设置一开始可能不会像您希望的那样工作。问题是,这实际上是 VS Code 的一个相当高级的主题,不是因为下面具体引用的设置,而是因为 VS Code、VS Code 的建议功能和 VS Code 的 Intellicode 扩展都是多么可配置。每个都有高级配置、长长的设置列表,以及 VS Code 提供的更高级的功能。话虽如此,你能否让 VS Code 按你希望的方式工作,很大程度上取决于你配置 VS Code 和使用它的能力。希望您已经对编辑器有所了解。
我的建议是:
阅读下面的答案,检查设置,但不要止步于此:打开您的设置菜单(不是 settings.json,而是您可以从中搜索的菜单)并输入建议,然后浏览每个配置,阅读每个配置,并配置每一个。然后(使用设置菜单搜索框)输入 IntelliCode(或 Intell)会弹出更多设置,配置每一个(提示:几个 intellicode 设置要求您让扩展自行配置)。继续做同样的事情,然后搜索“快速建议”, 和“自动完成”.继续前进,直到您获得对开发环境自动完成 A.I. 的完全控制权。软件和环境“建议小部件”。
好吧,让我们言归正传。
首先,让我们从这个设置开始
"editor.suggest.shareSuggestSelections": true
我相信默认情况下上面的设置已停用。打开该功能。
试一试,看看是否有帮助。还要记住,当你重新配置你的编辑器时,一定要重新启动它。
如果上面的设置不适合你,那么......
基于单词的建议可以提供帮助
配置基于词的建议
-
启用基于词的建议
打开你的settings.json文件——您喜欢哪个 vs 代码配置文件范围— 然后将下面的设置复制并粘贴到其中。
"editor.wordBasedSuggestions": true
-
配置建议以超越焦点中的单一打开文件
您需要将 "editor.wordBasedSuggestionsMode" 设置为 "allDocuments",这将建议来自所有打开文件的单词,或设置为“matchingDocuments”,这将建议来自所有以相同编程语言编写的打开文件的单词。
// This setting can also be set to "matchingDocuments"
"editor.wordBasedSuggestionsMode": "AllDocuments"
我很少使用启用了基于单词的建议的智能感知。我觉得它建议了太多不相关的词,但是,有些情况,比如当我想要来自 CSS 文件或 JSON 文件的建议时,我正在编写 TypeScript 或其他任何东西,我会打开它。
它是唯一的,也是唯一的,“建议功能”允许您将其范围配置为超出当前焦点文件。这并不是说关闭它不会为您提供当前 flie 以外的其他地方的建议,在我看来他们会的,但我很确定该语言需要是一种具有内置 IDE 的语言-like 特性,例如静态类型系统或编译器。我提到的那些功能允许扩展/工具提供没有它们无法提供的信息的能力,因此提供的建议、自动完成、提示等的很大一部分取决于语言和扩展您已经下载了该语言。
如果您在下面的 cmets 部分取得了任何进展,或者您是否无法取得进展(这对我来说更重要),请告诉我。