我在 Java 项目中使用 Prettier。Prettier 默认不格式化 Java,所以我在这里安装了这个插件:https : //github.com/jhipster/prettier-java
按照自述文件中的说明工作正常,但是,我不希望每次修改任何内容时都键入终端命令来重新格式化所有 java 文件。相反,我想在保存文件时对其进行格式化。这是目前在我的settings.json:
"[java]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"editor.formatOnSave": true
Run Code Online (Sandbox Code Playgroud)
但是,使用Shift+Alt+FVScode 中的默认格式化命令会导致错误“安装的“java”文件没有格式化程序”。如何配置我的.prettierrc文件以正确使用插件来格式化 java 文件?
这是我现在的 .prettierrc 文件:
{
"plugins": [
"prettier-plugin-java"
],
"pluginSearchDirs": [
"./node_modules"
],
"overrides": [{
"files": "**/*.java",
"options": {
plugins: [
"prettier-plugin-java"
]
}
}]
}
Run Code Online (Sandbox Code Playgroud) 我有一个导航列表,每个列表项都采用以下格式:
HStack {
TextField("Insert something here.",text: self.$userData.pages[i].title)
.border(Color.blue)
Spacer()
}
Run Code Online (Sandbox Code Playgroud)
这导致以下视图:
这样做的问题是,尽管列表项是一个导航链接,但用户单击该项目的任意位置将导致他们编辑文本内容。我更喜欢 aTextField与a具有相同的宽度Text:
所以,如果外面的用户点击TextField,导航工程,但如果他们点击的文本,这将让他们编辑的文本。(以上视图是带Text字段的)。
如果我问了一个不清楚或不好的问题,我深表歉意。我是 Stack Overflow 和 SwiftUI 的新手。
编辑:
我已经尝试使用fixedSize修饰符,并且 TextField 正确地包装了我的文本,但现在导航链接不起作用(即单击它只是不导航)。这是我的完整代码:
NavigationLink(destination: PageView(page: self.userData.pages[i])) {
HStack {
Button(action: {}){
TextField(" ", text: self.$userData.pages[i].title)
.fixedSize()
}
.buttonStyle(MyButtonStyle())
.border(Color.blue)
Spacer()
}
}
Run Code Online (Sandbox Code Playgroud)