私はそれを考え出した。私はこれを前に知りませんでしたが、テキストを含むオブジェクトが編集されている場合、すべてのウィンドウにフィールドエディタがあります。そのため、ファイル名フィールドが編集されているため、保存パネルに1つあります。フィールドエディタは単なるNSTextViewであるため、メソッドsetSelectedRange:があります。だから私はこの知識を使用しました、そしてここに解決策があります。ファイル名だけを選択したいときはいつでも、NSSavePanelでこれを呼び出すだけです。
NSText* editor = [savePanel fieldEditor:NO forObject:nil];
if (editor) {
NSString* nameFieldString = [savePanel nameFieldStringValue];
NSString* nameFieldExt = [nameFieldString pathExtension];
if (nameFieldExt != nil) {
NSInteger newLength = [nameFieldString length]-[nameFieldExt length]-1;
[editor setSelectedRange:NSMakeRange(0, newLength)];
}
}